code vs 1216 跳馬問題
阿新 • • 發佈:2018-01-06
image tab nbsp cor 一個 總數 phy mut ack
1216 跳馬問題
時間限制: 1 s 空間限制: 128000 KB 題目等級 : 黃金 Gold 題目描述 Description
題目
輸入描述 Input Description第一行兩個正整數M,N(0<M,N≤300)分別表示行和列
第二行兩個正整數,表示起點的行列坐標。
第三行兩個正整數,表示終點的行列坐標
一個正整數,表示方案總數對123456求余
樣例輸入 Sample Input3 3
1 1
2 3
樣例輸出 Sample Output1
數據範圍及提示 Data Size & Hint1
分類標簽 Tags 點此展開
思路:記憶化搜索,爆搜gg。
#include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #define mod 123456 using namespace std; int f[350][350]; int n,m,sx,sy,tx,ty,ans; int dfs(int x,int y){ if(x<1||x>n||y<1||y>m) return 0; if(f[x][y]) return f[x][y]; return f[x][y]+=(dfs(x-1,y-2)+dfs(x-1,y+2)+dfs(x-2,y-1)+dfs(x-2,y+1)); } int main(){ scanf("%d%d%d%d%d%d",&n,&m,&sx,&sy,&tx,&ty); f[sx][sy]=1; dfs(tx,ty); cout<<f[tx][ty]%mod; }
code vs 1216 跳馬問題