棋盤挑戰
題目來源:usaco training 6.5
時間限制:1000ms 記憶體限制:64mb
題目描述
給定一個 \(N×N\) 的棋盤,請你在上面放置 \(N\) 個棋子,要求滿足:
- 每行每列都恰好有一個棋子
- 每條對角線上都最多只能有一個棋子
1 2 3 4 5 6
-------------------------
1 | | O | | | | |
-------------------------
2 | | | | O | | |
-------------------------
3 | | | | | | O |
-------------------------
4 | O | | | | | |
-------------------------
5 | | | O | | | |
-------------------------
6 | | | | | O | |
-------------------------
上圖給出了當 \(N=6\) 時的一種解決方案,該方案可用序列 2 4 6 1 3 5 來描述,該序列按順序給出了從第一行到第六行,每一行擺放的棋子所在的列的位置,
請你撰寫一個程式,給定一個 \(N×N\) 的棋盤以及 \(N\) 個棋子,請你找出所有滿足上述條件的棋子放置方案,
輸入格式
共一行,一個整數 \(N\) ,
輸出格式
共四行,前三行每行輸出一個整數序列,用來描述一種可行放置方案,序列中的第 \(i\) 個數表示第 \(i\) 行的棋子應該擺放的列的位置,
這三行描述的方案應該是整數序列字典序排在第一、第二、第三的方案,
第四行輸出一個整數,表示可行放置方案的總數,
資料范圍
\(6 ≤ N ≤ 13\)
樣例輸入
6
樣例輸出
2 4 6 1 3 5
3 6 2 5 1 4
4 1 5 2 6 3
4
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/251500.html
標籤:其他
上一篇:賬戶合并
下一篇:UGUI學習筆記之Text組件
