題意:n×m的棋盤,有多少種方法放置兩個相互攻擊的皇后?
思路:這兩個皇后互相攻擊的方式只有3種,在同一行,在同一列,或在同一對角線。因為每種情況沒有交集,所以可以用加法原理。
先考慮同一行,每一行都有
種放法,共有n行,所以就是n×m×(m-1)。
列與行的情況是相同的。
考慮對角線,如圖,從左到右對角線的長度為1,2,3,...n-1,n,n...n(m-n+1個n),n-1,n-2,...2,1
因為還有另乙個對角線的情況,所以結果要乘以2,最後等於
最後化簡即可。
1 #include2 #include3 #include4 #include5 #include6using
namespace
std;78
9int
main()
1018
return0;
19 }
COJ 0020 30201象棋中的皇后
30201象棋中的皇后 難度級別 b 執行時間限制 1000ms 執行空間限制 51200kb 長度限制 2000000b 試題描述 在n m的棋盤上放置兩個相互攻擊的皇后,總共有多少種不同的方案?例如當n 2,m 2時答案為12,當n 100,m 223時答案為10907100。說明 如果同乙個棋...
關於西洋棋皇后的遞迴問題 經典為8皇后
從大一開始學c以來,看了不少經典的變成題目,卻單單沒有看到關於8皇后的題目,杯具!這一段時間開始學習linux c和python,在看python書籍的時候,突然看到了這麼一道8皇后的題目,興趣來了。也不知道是自己的水平下降還是確實對於西洋棋不夠了解,居然在理解題意的時候就出現了問題,下面,先將題目...
象棋中的跳馬問題
有一張p q的棋盤,並且棋盤中有障礙物 用來限制馬的行動,即中國象棋中的蹩馬腿 有乙個棋子馬 走 日 字形路線 要從起始點走到終點。輸入部分 第一行輸入乙個整數n,表示有n組測試例項,每組測試資料第一行輸入兩個整數p和q,表示棋盤的大小 1 p,q 100 每組測試資料第二行輸入4個整數x1,y1,...