2 条题解
-
1
这边结合了search呢,还有DP,其实可以直接用DFS写,下辈子马上写。
#include <bits/stdc++.h> using namespace std; long long dp[25][25]; bool ban[25][25]; int dx[8]={-1,-1,-2,-2,1,1,2,2}; int dy[8]={2,-2,1,-1,2,-2,1,-1}; int main() { int n,m,cx,cy; cin>>n>>m>>cx>>cy; ban[cx][cy]=1; for(int i=0;i<8;i++){ int nx=cx+dx[i]; int ny=cy+dy[i]; if(nx>=0&&nx<=n&&ny>=0&&ny<=m) ban[nx][ny]=1; } dp[0][0]=1; for(int i=0;i<=n;i++){ for(int j=0;j<=m;j++){ if(ban[i][j]) continue; if(i>0) dp[i][j]+=dp[i-1][j]; if(j>0) dp[i][j]+=dp[i][j-1]; } } cout<<dp[n][m]; return 0; }
- 1
信息
- ID
- 392
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 7
- 标签
- (无)
- 递交数
- 26
- 已通过
- 9
- 上传者