|
Time |
Memory |
| Case 1 |
1 sec |
32 MB |
| Case 2 |
1 sec |
32 MB |
| Case 3 |
1 sec |
32 MB |
| Case 4 |
1 sec |
32 MB |
| Case 5 |
1 sec |
32 MB |
Description
“四子棋”是一個經典的桌上遊戲,桌面上有立著的屏風小盒子,盒子分成7欄並且分別有7個開口;遊戲開始後,兩名玩家分別持不同顏色的小圓片,並依序從開口投入圓片;圓片受地心引力影響會落至底部或其他棋子上;當其中一名玩家以4顆連續的棋子,以橫著、直著、斜著的任一種方式連成一線即獲勝

(Excerpted from wiki: https://en.wikipedia.org/wiki/Connect_Four)
給定一個棋局,以及黑白圓片下一個放入的位置;請試著計算出當該圓片落至定點時,跟該圓片相關的最大長度的連線為何
Note:
- 利用字元 ‘-’ 來代表棋盤中的空格
- 利用字元 ‘x’ 來代表棋盤中的黑方
- 利用字元 ‘o’ 來代表棋盤中的白方
Input
一個棋局;一個整數用來表示圓片落下的欄數,一個字元用來表示現在是黑方或白方
Note:
- ‘x’ 表示現在為黑色圓片;‘o’ 表示現在為白色圓片
- 測資中不會出現不合遊戲規則的放置方式;例如:不會放在已經滿了的欄位
- 欄位以序號 0 作為起始
Output
輸出比須符合以下格式:
Length
Note:
- 輸出的最後必須要有一個換行符號 ('\n')
- Length表示跟最後落子的圓片最大相關的連線長度
Tags
(&[])->
f(0<n)h[i]->
f(1<n)h[i-1].n=h[i]
h[i].p=h[i-1];
[n-1].n=[0];B;
cf
NT[a-1].p.n=[].n
[].n.p=[].p
w(-)t=t.n;
[].p=t [].n=t.n
t.n.p=[] t.n=[]
return head;