給出一張 n × n 的棋盤,格仔有黑有白。現在要在棋盤上放棋子,要求:
• 黑格仔上不能有棋子
• 每行每列至多只有一枚棋子
你的任務是求出有多少種合法的擺放方案。答案模 109+
7'>109+7
109+7 。
輸入的第一行乙個整數 n ( n ≤ 15) 。
接下來乙個 n × n 的棋盤( 1 表示黑 ;0 表示白)。
輸出一行乙個整數,表示合法方案數對 109+
7'>109+7
109+7 取模後的結果。
題解:其實這道題可能是由炮兵陣地改的,但沒原題好,反正記憶化搜尋就可以了。
**:
#include#include#include
#include
#include
using
namespace
std;
const
int mod=1000000007
;string a[20
];int dp[20][1
<<15],vis[20][1
<<15
],n;
void
cl()
int dfs(int now,int
x) ans+=dfs(now+1
,x);
ans%=mod;
dp[now][x]=ans;
return
ans;}
intmain()
經典DP合集
1.數字三角形 數塔問題 dp入門題 有形如下圖所示的數塔,從頂部出發,在每一結點可以選擇向左走或是向右走,一起走到底層,要求找出一條路徑,使路徑上的值最大。樣例輸入 11 8 12 7 26 6 14 15 8 12 7 13 24 11 樣例輸出 86 13 8 26 15 24 狀態轉移方程 ...
osu合集(期望dp)
easy 我們設 f i 表示到 i 的連續個數平方的期望。g i 表示到到 i 的連續個數的期望 在維護 f i 的同時維護一下 g i 就行了。轉移方程 g i p i times g f i p i times f 2 times g 1 1 p i times f 解釋一下第二個方程,長度有...
小兔的棋盤 dp
題目 problem description 小兔的叔叔從外面旅遊回來給她帶來了乙個禮物,小兔高興地跑回自己的房間,拆開一看是乙個棋盤,小兔有所失望。不過沒過幾天發現了棋盤的好玩之處。從起點 0,0 走到終點 n,n 的最短路徑數是c 2n,n 現在小兔又想如果不穿越對角線 但可接觸對角線上的格點 ...