阿里九遊開放平台近日上架了一款新的益智類遊戲——成三棋。成三棋是我國非常古老的乙個雙人棋類遊戲,其棋盤如下圖所示:
如果一條線段上的三個交叉點都被同一玩家的棋子佔據的話,則稱這條線段被該玩家 成三。現在,小紅和小明兩人在遊戲平台上下棋,其中小紅的棋子是黑色的。請你幫小紅計算他成三的線段數。
樣例對應的棋盤如下:
輸入格式
輸入第一行兩個整數 n,m(3 \le n, m \le 9)n,m(3≤n,m≤9),nn 表示小紅的棋子數,mm 表示小明的棋子數。
接下來 nn 行輸入小紅的棋子座標。
接下來 mm 行輸入小明的棋子座標。
輸入保證座標合法,並且棋子之間不重合。
輸出格式
輸出小紅成三的線段數。
樣例輸入
6 3
-1 0
-2 0
-3 0
-1 -1
-1 1
1 0
0 2
0 3
2 2
樣例輸出
題目大意:有乙個棋盤(圖見鏈結),給出棋子分布,問有多少個「成三」。
解題思路:各種姿勢應該都能過,直接列舉或排序判斷等等,**寫得醜。。。
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using
namespace
std;
struct node
a[30],b[30];
bool cmp1(node u,node v)
for(int i=1;i<=m;i++)
int ans=0;
sort(a+1,a+n+1,cmp1);
for(int i=1;i<=n;i++)
}else
if(i+2
<=n&&a[i].y==a[i+2].y)
}sort(a+1,a+n+1,cmp2);
for(int i=1;i<=n;i++)
}else
if(i+2
<=n&&a[i].x==a[i+2].x)
}cout
0;}
2017 計蒜之道 初賽 第一場
阿里的新遊戲 阿里九遊開放平台近日上架了一款新的益智類遊戲 成三棋。成三棋是我國非常古老的乙個雙人棋類遊戲,其棋盤如下圖所示 如果一條線段上的三個交叉點都被同一玩家的棋子佔據的話,則稱這條線段被該玩家成三。現在,小紅和小明兩人在遊戲平台上下棋,其中小紅的棋子是黑色的。請你幫小紅計算他成三的線段數。樣...
2018 計蒜之道 初賽 第一場
題解 典型的二分 1 pragma warning disable 4996 2 include3 include4 include 5 include6 include7 include8 include9 define ll long long 10using namespace std 111...
2017計蒜之道 初賽 第一場
16種情況手動暴力即可 include define nmax 7 using namespace std int mp nmax nmax int n,m int cnt 0 void ge void check if mp 0 0 1 mp 3 0 1 mp 6 0 1 if mp 0 6 1 ...