g003: 塔樓防守戰略
標籤 : 演算法
通過比率 : 2人/2人 ( 100% ) [非即時]
評分方式:
Tolerant

最近更新 : 2024-11-19 18:17

內容

在一個古代城市中,有一個範圍內的塔樓需要守護者駐紮以保護城市免受敵軍的入侵。這些守護者具有特殊能力,可以監視其所在位置的直線,包括水平、垂直和兩個 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'。
輸出格式為 直向列數與橫向行數,中間以空白隔開。

範例輸入 #1
4
1
範例輸出 #1
1 0
3 1
0 2
2 3
範例輸入 #2
4
0
範例輸出 #2
No answer
範例輸入 #3
8
3
範例輸出 #3
3 0
0 1
4 2
7 3
1 4
6 5
2 6
5 7
測資資訊:
記憶體限制: 64 MB
公開 測資點#0 (16%): 1.0s , <1K
公開 測資點#1 (16%): 1.0s , <1K
公開 測資點#2 (17%): 1.0s , <1K
公開 測資點#3 (17%): 1.0s , <1K
公開 測資點#4 (17%): 1.0s , <1K
公開 測資點#5 (17%): 1.0s , <1K
提示 :
標籤:
演算法
出處:
海青工商資訊科 [管理者: zero(管理員) ]


編號 身分 題目 主題 人氣 發表日期
沒有發現任何「解題報告」