不好意思,dp打成pd了****
by lianghanrui @ 2023-03-05 15:26:37
```cpp
#include <bits/stdc++.h>
using namespace std;
int i,j;
const int maxn=20+5;
int judge[maxn][maxn];
long long go[maxn][maxn]= {1};
int main()
{
memset(go,0,sizeof(go));
memset(judge,0,sizeof(judge));
int n,m,a,b;
cin>>n>>m>>a>>b;
judge[a][b]=1;
judge[a+2][b+1]=1;
judge[a+2][b-1]=1;
judge[a+1][b+2]=1;
judge[a+1][b-2]=1;
judge[a-2][b+1]=1;
judge[a-2][b-1]=1;
judge[a-1][b+2]=1;
judge[a-1][b-2]=1;
for(i=1; i<=n; i++)
if(judge[i][0]==0)
go[i][0]=1;
else
break;
for(i=1; i<=m; i++)
if(judge[0][i]==0)
go[0][i]=1;
else
break;
for(i=1; i<=n; i++)
for(j=1; j<=m; j++)
if(judge[i][j]==0)
go[i][j]=go[i-1][j]+go[i][j-1];
cout<<go[n][m]<<endl;
return 0;
}
```
也不用太麻烦,这道题思路还算清晰
by _Adolf_Hitler_ @ 2023-03-05 15:27:10
?????????????????????
by 250250250250cyh @ 2023-03-05 15:28:36
用递推就行,不用上dp大炮(谐音梗,勿吹)
by _Adolf_Hitler_ @ 2023-03-05 15:28:42
@[lianghanrui](/user/704170)
by _Adolf_Hitler_ @ 2023-03-05 15:29:46
这样行吗,之前做的
```cpp
#include <bits/stdc++.h>
using namespace std;
long long a,b,n,m,x[23][23],ma[23][23];
void work(long long x,long long y){
ma[x][y]=1;
ma[x-1][y-2]=1;
ma[x-2][y-1]=1;
ma[x-2][y+1]=1;
ma[x-1][y+2]=1;
ma[x+1][y-2]=1;
ma[x+2][y-1]=1;
ma[x+2][y+1]=1;
ma[x+1][y+2]=1;
}
int main(){
scanf("%lld %lld %lld
%lld",&n,&m,&a,&b);
a++;
b++;
n++;
m++;
work(a,b);
x[1][1]=1;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(i==1&&j==1)continue;
if(ma[i][j]==0)x[i][j]=x[i-1][j]+x[i][j-1];
}
}
printf("%lld",x[n][m]);
return 0;
}
```
by juchenglin @ 2023-03-05 15:49:07