格仔遊戲題目
思路:若能夠形成自環,則兩點在連線之前屬於同乙個集合。並查集裸題,不過需要把二維狀態下座標對映到一維,這裡用乙個cnt不斷自增來對映,也可以將x,y從0開始a[x][y] = n*x+y
**如下
#include
using
namespace std;
const
int n =
210;
int n, m, cnt;
int p[n*n]
;int a[n]
[n];
intfind
(int x)
intmain()
else
int px =
find
(a[c]
[d])
, py =
find
(a[x]
[y]);if
(px == py)
p[px]
= py;}if
(!flag)
puts
("draw");
return0;
}
格仔遊戲(並查集)
alice和bob玩了乙個古老的遊戲 首先畫乙個 n n n n 的點陣 下圖 n 3 n 3 接著,他們兩個輪流在相鄰的點之間畫上紅邊和藍邊 直到圍成乙個封閉的圈 面積不必為 1 1 1 為止,封圈 的那個人就是贏家。因為棋盤實在是太大了,他們的遊戲實在是太長了!他們甚至在遊戲中都不知道誰贏得了遊...
ssl2340 格仔遊戲 並查集
題目鏈結 有兩個人在玩遊戲,在乙個n n的矩陣的點上畫線,有如果有線封了圈那麼遊戲結束,給出一些操作,求在那一輪結束了遊戲,或沒有結束遊戲。用並查集把點相連,直到並查集形成環為止 include include using namespace std int n,m,x,y,father 40001...
並查集 並查集
本文參考了 挑戰程式設計競賽 和jennica的github題解 陣列版 int parent max n int rank max n void init int n int find int x else void union int x,int y else 結構體版 struct node ...