切換
舊版
前往
大廳
主題

ZeroJudge - b510: M 皇后 N 城堡 解題心得

Not In My Back Yard | 2020-08-10 00:00:14 | 巴幣 0 | 人氣 426

題目連結:


題目大意:
給定兩非負整數 M 、 N (M + N ≦ 10),代表要在有 M + N 列、 M + N 行的棋盤上擺放 M 個皇后以及 N 個城堡。試問,有多少擺法可以使得所有棋子無法攻擊其他任何的棋子?

注:皇后可以走米字形任意格數、城堡則只能走水平或垂直任意格數。



範例輸入:
3 1


範例輸出:
8


解題思維:
如同 N 皇后的作法,類似此題

較特別的是,除了兩種棋子都要看兩個對角線方向、水平、垂直方向有無「皇后」以外(如同 N 皇后),皇后還要多判斷兩對角線方向有無「城堡」存在(城堡則不用,因為城堡只能走水平、垂直,但是會被對角線方向的皇后攻擊)。因為如果對角線方向有城堡存在,則現在放下皇后會使得該皇后攻擊到城堡。




此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創作回應

更多創作