格仔遊戲 並查集

2021-10-18 14:37:58 字數 609 閱讀 9497

格仔遊戲題目

思路:若能夠形成自環,則兩點在連線之前屬於同乙個集合。並查集裸題,不過需要把二維狀態下座標對映到一維,這裡用乙個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 ...