1347 例4 8 格仔遊戲

2021-10-06 20:43:20 字數 918 閱讀 7811

【題目描述】

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...