题解(放心看,老师教的)
2024-07-11 11:24:59
发布于:浙江
56阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
long long a[101][101],f[101][101];
int b[9]={0,-2,-1,1,2,2,1,-1,-2};
int c[9]={0,1,2,2,1,-1,-2,-2,-1};
int n,m,x,y;
int main()
{
cin>>n>>m;
cin>>x>>y;
memset(a,0,sizeof(a));
a[x][y]=1;
for(int i=1;i<=8;i++){
if((x+b[i]>=0)&&(x+b[i]<=n)&&(y+c[i]>=0)&&(y+c[i]<=m)){
a[x+b[i]][y+c[i]]=1;
}
}
f[0][0]=1;
for(int i=1;i<=n;i++){
if(a[i][0]==0){
f[i][0]=f[i-1][0];
}
}
for(int j=1;j<=m;j++){
if(a[0][j]==0){
f[0][j]=f[0][j-1];
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(a[i][j]==0){
f[i][j]=f[i-1][j]+f[i][j-1];
}
}
}
cout<<f[n][m]<<endl;
return 0;
}
全部评论 1
看都看了,点个赞吧!!!
2024-07-11 来自 浙江
0
有帮助,赞一个