在西洋棋中,城堡(rook)可以水平或垂直的移動任意格。在這個問題中,我們想要知道在一個小棋盤(最多 4x4)最多可以放置多少個城堡,並且這些城堡不會處於可以互相攻擊的狀態。比較特別的是在棋盤中有些格子放有牆,這些牆會阻擋城堡的行進路線。所以我們 可以說一個棋盤若處於一種「合法」的狀態,那表示不會有2個城堡處於同一列或同一行,除非他們之間至少存在一個牆把他們隔開。
以下以下的圖顯示了五個相同的棋盤。第一個棋盤是空的。第二、三個棋盤是「合法」的狀態。第四、五個棋盤是「不合法」的狀態。對這個棋盤而言,最多可以放置 5 個城堡,並且棋盤仍處於「合法」的狀態(第二個圖是一種安排城堡的方式,但是還有其他的方式)。
你的任務是寫一個程式,給你一個棋盤的描述,請你算出最多可以放置多少個城堡,並且棋盤仍處於「合法」的狀態。
輸入含有多組測試資料。每組測試資料的第一列有 1 個整數 n,代表棋盤的大小(1 <= n <= 4),接下來的 n 列描述這個棋盤。'.' 代表空白格,'X'代表牆。輸入中不會有空白存在。
當 n=0 時代表輸入結束。請參考Sample Input。
對每一組測試資料,輸出最多可以放置多少個城堡,並且棋盤仍處於「合法」的狀態。
4 .X.. .... XX.. .... 2 XX .X 3 .X. X.X .X. 3 ... .XX .XX 4 .... .... .... .... 0
5 1 5 2 4
* Luck 貓翻譯
編號 | 身分 | 題目 | 主題 | 人氣 | 發表日期 |
沒有發現任何「解題報告」
|