14868 - Best Gomoku Move   

Description

給定一個大小為 N × N 的五子棋棋盤,每個格子用整數表示棋子的狀態:

0:空格

1:玩家A的棋子

2:玩家B的棋子

請你計算玩家A的下一步最佳落子位置,目標是:

優先完成連續 5 顆棋子(橫、直、斜都算)

若沒有立刻勝利的機會,選擇可以增加連線長度最多的空格

若有多個候選位置分數相同,先選擇行號最小(直行),再選擇列號最小(橫列)

 

hint:

1.連線長度指從該空格開始,計算落子後在四個方向(橫、直、兩條對角線)的最大連續 A 棋子數。

2.最終落子位置應是空格(0)。

 

Input

N

row1

row2

...

rowN

 

Note:

第一行:棋盤大小 N(5 ≤ N ≤ 20);接下來 N 行:每行 N 個整數(0、1、2),用空格分隔

 

Output

r c

 

Note:

1.r、c 表示最佳落子直行編號與橫列編號(從 0 開始)

2. 輸出的最後必須要有一個換行符號 (“\n”)

 

Sample Input  Download

Sample Output  Download

Tags




Discuss