題目連結:
題目大意:
給定兩非負整數 M 、 N (M + N ≦ 10),代表要在有 M + N 列、 M + N 行的棋盤上擺放 M 個皇后以及 N 個城堡。試問,有多少擺法可以使得所有棋子無法攻擊其他任何的棋子?
注:皇后可以走米字形任意格數、城堡則只能走水平或垂直任意格數。
範例輸入:
3 1
範例輸出:
8
解題思維:
較特別的是,除了兩種棋子都要看兩個對角線方向、水平、垂直方向有無「皇后」以外(如同 N 皇后),皇后還要多判斷兩對角線方向有無「城堡」存在(城堡則不用,因為城堡只能走水平、垂直,但是會被對角線方向的皇后攻擊)。因為如果對角線方向有城堡存在,則現在放下皇后會使得該皇后攻擊到城堡。
此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。