超級狗狗所居住的星球 -- 超級汪汪星 -- 最近發生了一連串的動盪,這顆星球即將變得無法居住,為此,超級狗狗踏上了尋找下一個宜居行星的旅程。
「說是要尋找宜居的行星,那為什麼不要直接去宜家家居呢?」超級狗狗在飛船上這麼想著。
就在他想著宜家家居星有沒有好吃的肉丸的同時,他的飛船遇到了超級魚魚和超級企鵝,超級企鵝即將吃掉超級魚魚,但此時超級狗狗也餓了。
「這隻魚是我的!」超級狗狗向超級企鵝大喊。
「還真是高高在上呢。」超級企鵝也不甘示弱地回擊。
於是超級狗狗向超級企鵝提議:用下棋的方式來決定這條魚屬於誰的。
在剪刀石頭布後,他們決定採用超級汪汪星的規則。超級汪汪星的棋使用 $N\times M$ 的棋盤,兩人輪流在棋盤上落子。遊戲結束後,棋盤上留有最多連通塊的玩家獲勝。
一個「連通塊」被定義為一組互相連通的棋子。若兩個棋子具有相同的 x 座標,且 y 座標相差正好為 1;或是具有相同的 y 座標,且 x 座標相差正好為 1,則這兩個棋子被視為是連通的。
現在超級狗狗會給你遊戲結束後的棋盤,請你幫忙計算誰獲勝。
第一行會有兩個正整數 $N$、$M$,代表棋盤的長寬,其中 $1 \le N, M \le 30$。
接下來會有 $N$ 行,每行會有 $M$ 個非負整數,代表該處放了誰的棋子。
其中 0
代表該處沒有子、1
代表超級狗狗的棋子、2
代表超級企鵝的棋子。
若超級狗狗獲勝,輸出 Dogg wins!
。
若超級企鵝獲勝,輸出 Tomorin wins!
。
若兩人平手,輸出 Tie!
。
可以用遞迴的方式想想看。當你到達一個棋盤上的格子,你會想要往這個格子的上、下、左、右移動。
此外,你可能需要紀錄哪些格子被拜訪過了。
範例 2 說明
超級狗狗有 2 個連通塊,超級企鵝有 4 個連通塊。
改自 JudgeGirl #58
No. | Testdata Range | Constraints | Score |
---|---|---|---|
1 | 0~1 | $1 \leq N, M \leq 10$。 | 20 |
2 | 2~9 | 沒有其他限制。 | 80 |