小樂樂一天天就知道玩,這一天又想玩象棋。
我們都知道馬走日。
現在給定乙個棋盤,大小是n*m,把棋盤放在第一象限,棋盤的左下角是(0,0),右上角是(n - 1, m - 1);
小樂樂想知道,乙個馬從左下角(0, 0)開始,走了k步之後,剛好走到右上角(n - 1, m - 1)的方案數。
輸入:多組樣例輸入,每組一行,三個整數n, m, k(1 <= n, m, k <= 200),如題目所示。
輸出:輸出答案 mod 1000000007
示例1
4 4 2
2
思路:這是一道水題,但我為什麼要為它而寫一篇部落格。因為它十分完美的展現了爆搜與動態規劃在某種情況下的聯絡。
生動形象。可能咋一眼感覺好像完全不同.....但是它完全就是一毛一樣好吧。。。(這就我執著於爆搜的原因?)
爆搜**:
#include#include#include#include#include#includeusing namespace std;
const int mod=1000000007;
#define per(i,a,b) for(int i=a;i<=b;++i)
#define ll long long
ll n,m,k;
int f[8][2]=,,,,,,,};
int vis[205][205][205];
ll dfs(int x,int y,int z)
,,,,,,,};
long long dp[205][205][205]=;
int main()}}
} printf("%lld\n",dp[n-1][m-1][k]);
}
return 0;
}
動態規劃 遞推 中國象棋
中國象棋 總時間限制 10000ms 單個測試點時間限制 1000ms 記憶體限制 65536kb 描述 在n行m列的棋盤上,放若干個炮可以是0個,使得沒有任何乙個炮可以攻擊另乙個炮。請問有多少種放置方法?中國象棋中炮的行走方式大家應該很清楚吧。輸入 一行包含兩個整數n,m,中間用空格分開。輸出 輸...
POJ1088 滑雪 動態規劃 深搜DFS
題目 滑雪 time limit 1000ms memory limit 65536k total submissions 94177 accepted 35668 description michael喜歡滑雪百這並不奇怪,因為滑雪的確很刺激。可是為了獲得速度,滑的區域必須向下傾斜,而且當你滑到坡...
動態規劃 LeetCode96 不同的二叉搜尋樹
題目 給定乙個整數 n,求以 1 n 為節點組成的二叉搜尋樹有多少種?示例 輸入 3 輸出 5 解釋 給定 n 3,一共有 5 種不同結構的二叉搜尋樹 1 3 3 2 1 3 2 1 1 3 2 2 1 2 3二叉搜尋樹 思路1 遞迴。具體見 這種思路很慢。這種思路可以返回所有的二叉搜尋樹 leet...