【題目描述】
alice和bob玩了乙個古老的遊戲:首先畫乙個n × n的點陣(下圖n = 3)
接著,他們兩個輪流在相鄰的點之間畫上紅邊和藍邊:
直到圍成乙個封閉的圈(面積不必為1)為止,「封圈」的那個人就是贏家。因為棋盤實在是太大了(n ≤ 200),他們的遊戲實在是太長了!他們甚至在遊戲中都不知道誰贏得了遊戲。於是請你寫乙個程式,幫助他們計算他們是否結束了遊戲?
【輸入】
輸入資料第一行為兩個整數n和m。m表示一共畫了m條線。以後m行,每行首先有兩個數字(x, y),代表了畫線的起點座標,接著用空格隔開乙個字元,假如字元是"d ",則是向下連一條邊,如果是"r "就是向右連一條邊。輸入資料不會有重複的邊且保證正確。
【輸出】
輸出一行:在第幾步的時候結束。假如m步之後也沒有結束,則輸出一行「draw」。
【輸入樣例】
3 51 1 d
1 1 r
1 2 d
2 1 r
2 2 d
【輸出樣例】
4思路:將二維座標轉換成節點的編號
#include
#define ll long long
#define inf 0x3f3f3f3f
#define pii pair
using
namespace std;
const
int n=
4e5+5;
int fa[n]
,n,m,x,y;
char c;
intfind
(int x)
intmain()
}if(!flag)
cout <<
"draw"
<< endl;
return0;
}
1347 例4 8 格仔遊戲
alice和bob玩了乙個古老的遊戲 首先畫乙個n n的點陣 下圖n 3 接著,他們兩個輪流在相鄰的點之間畫上紅邊和藍邊 直到圍成乙個封閉的圈 面積不必為1 為止,封圈 的那個人就是贏家。因為棋盤實在是太大了 n 200 他們的遊戲實在是太長了!他們甚至在遊戲中都不知道誰贏得了遊戲。於是請你寫乙個程...
1347 例4 8 格仔遊戲
題目描述 alice和bob玩了乙個古老的遊戲 首先畫乙個n n的點陣 下圖n 3 接著,他們兩個輪流在相鄰的點之間畫上紅邊和藍邊 直到圍成乙個封閉的圈 面積不必為1 為止,封圈 的那個人就是贏家。因為棋盤實在是太大了 n 200 他們的遊戲實在是太長了!他們甚至在遊戲中都不知道誰贏得了遊戲。於是請...
一本通1347 格仔遊戲
儘管可能各位大佬覺得很簡單,但對於講課時真的沒看懂這個 的蒟蒻,真的要寫一寫 這個題是乙個神奇的二維的並查集,然而二維的真的好亂,弄得我搞不懂qwq jiuzhe 食用吧emm include include include include include using namespace std i...