正经题解【老师写的,包对】
2024-08-28 19:21:13
发布于:浙江
55阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
long long n,m;
long long x,y;
long long dp[25][25];
bool vis[25][25];
int dir[8][2] = {{2,1},{2,-1},{-2,1},{-2,-1},{1,2},{1,-2},{-1,2},{-1,-2}};
bool check(int x,int y){
return x >= 0 && x <= n && y >= 0 && y <= m;
}
int main(){
cin>>n>>m>>x>>y;
vis[x][y] = true;
for(int i = 0;i < 8;i++){
int tx = x + dir[i][0];
int ty = y + dir[i][1];
if(check(tx,ty)){
vis[tx][ty] = true;
}
}
for(int i = 0;i <= n;i++){
for(int j = 0;j <= m;j++){
if(vis[i][j]){
continue;
}
if(i == 0 && j == 0){
dp[i][j] = 1;
}else{
dp[i][j] = dp[i - 1][j] + dp[i][j - 1];
}
}
}
cout<<dp[n][m];
return 0;
}
全部评论 1
666
2024-08-28 来自 浙江
1
有帮助,赞一个