在一個古代城市中,有一個範圍內的塔樓需要守護者駐紮以保護城市免受敵軍的入侵。這些守護者具有特殊能力,可以監視其所在位置的直線,包括水平、垂直和兩個 45 度對角線方向。為了確保城市得到充分的防守,必須在棋盤範圍內安排 4 到 10 名守護者,使他們不會彼此干擾視線。
塔樓位置以 nxn 棋盤表示,從 0 開始標示,標示格式為 (直向列數,橫向行數)。如下圖 4x4 舉例說明:
如圖 (1,0)、(3,1) 、(0,2)、(2,3) 各有一塔樓,而且互相不干擾。
下圖範例 (0,0) 與 (0,3) 橫向衝突。(0,0) 與 (3,3) 斜向衝突。(0,3) 與 (2,1) 斜向衝突。(0,3) 與 (3,3) 縱向衝突。
第一行輸入 n 表示一個 nxn 方形區塊,且有 n 個塔樓。
第二行輸入 m 表示第 0 列(橫向)塔樓位置。
(註:4<=n<=10,0 ≤ m ≤n)
程式需在輸入條件下安排剩餘的 n-1 個塔樓,使它們在 nxn 棋盤內互不衝突。如果無法找到符合條件的安排,則輸出 'No answer'。
輸出格式為 直向列數與橫向行數,中間以空白隔開。
4 1
1 0 3 1 0 2 2 3
4 0
No answer
8 3
3 0 0 1 4 2 7 3 1 4 6 5 2 6 5 7
編號 | 身分 | 題目 | 主題 | 人氣 | 發表日期 |
沒有發現任何「解題報告」 |