給定一個大小為 $N \times N$ 的五子棋棋盤,棋盤一開始是空的。
接著會有 $M$ 個落子操作,依照順序輪流由黑子與白子下子,第一手為黑子。
第 $i$ 個落子操作會給出一個座標 $(x_i,\ y_i)$,表示該回合的棋子會放在第 $x_i$ 行、第 $y_i$ 列的位置。
五子棋規則如下:
1. 棋盤上的每個格子最多只能放一顆棋子。若某一步要下在已經有棋子的格子上,則此步為非法操作。
2. 若某一步下完後,某一方在任意方向 (水平、垂直、對角線) 上形成至少五顆連續同色棋子,則該方立即獲勝,之後的落子都不再進行。
請你模擬出遊戲的操作,若操作為非法操作則視為沒有這個操作,該顏色的子將延至下個操作進行。
例如第 $i$ 個操作為非法操作,並且第 $i$ 個操作是下黑子,若第 $i + 1$ 個操作合法,則黑子是下在第 $i + 1$ 個操作的位置。
最後請你輸出是哪種顏色的子獲勝或是平局。
對於所有測試資料:
$5 \le N \le 1000$
$1 \le M \le 10$$6$
$1 \le x_i,\ y_i \le N$
共輸入 $1 + M$ 行,
第一行輸入兩個數字 $N,\ M$,
接下來有 $M$ 行,
第 $i$ 行有兩個數字 $x_i,\ y_i$。
共輸出兩行,
第一行輸出一個整數代表有幾次非法操作,
第二行輸出 Black、White、Draw 代表黑子獲勝、白子獲勝、平局。
5 15 3 3 4 5 1 4 4 3 5 1 4 4 2 5 4 2 5 4 4 1 3 1 1 2 2 4 3 4 5 2
0 White
5 10 4 5 4 3 4 5 4 5 4 3 4 5 2 1 4 3 4 3 2 1
7 Draw
| No. | Testdata Range | Constraints | Score |
|---|---|---|---|
| 1 | 0~1 | 範例測試資料 | 0 |
| 2 | 0, 2~31, 72 | 沒有非法操作 | 50 |
| 3 | 0~72 | 無額外限制 | 50 |