格式
by ☪stars⚛ @ 2018-08-11 10:41:04
```
#include<cstdio>
const int Const[2][9]={{0,-2,-1,1,2,2,1,-1,-2},{0,1,2,2,1,-1,-2,-2,-1}};
long long DP[21]={1};
bool mark[21][21];
int main() {
int nx,ny,hx,hy;
scanf("%d%d%d%d",&nx,&ny,&hx,&hy);
for(int i=0;i<9;++i)
if(hx+Const[0][i]>=0&&hx+Const[0][i]<=nx&&hy+Const[1][i]>=0&&hy+Const[1][i]<=ny)
mark[hx+Const[0][i]][hy+Const[1][i]]=1;
for(int i=0,j;i<=nx;++i)
for(DP[0]*=!mark[i][0],j=1;j<=ny;++j)
(DP[j]+=DP[j-1])*=!mark[i][j];
printf("%lld",DP[ny]);
return 0;
}
```
by 默哥儿 @ 2018-08-11 10:44:28
@[PerfectJames](/space/show?uid=66803)
by 默哥儿 @ 2018-08-11 10:44:32
直接帮你做了
by 默哥儿 @ 2018-08-11 10:44:51
@[默哥儿](/space/show?uid=88038) 谢谢!但不知道用这种代码哪里出错了?望指点一下
by PerfectJames @ 2018-08-11 10:46:01
@[PerfectJames](/space/show?uid=66803)
'''
这里放代码(把'换成`)
'''
by JAMERES86 @ 2018-08-11 10:59:48
格式太乱看不了
by JAMERES86 @ 2018-08-11 11:00:13
```cpp
#include<iostream>
using namespace std;
int main(){
long long n;
long long m;
long long x;
long long y;
cin>>n>>m>>x>>y;
n=n+1;
m=m+1;
x=x+1;
y=y+1;
long long map[n+1][m+1];
for(int i=0;i<=n;i++){
for(int j=0;j<=m;j++){
map[i][j]=0;
}
} //map[x][y]=0; //map[x+2][y+1]=0; //map[x+1][y+2]=0; //map[x-2][y+1]=0; //map[x-1][y+2]=0; //map[x-2][y-1]=0; //map[x-1][y-2]=0; //map[x+2][y-1]=0; //map[x+1][y-2]=0;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(i==1&&j==1){
map[i][j]=1;
}else if((i==x&&j==y)||(i==x+2&&j==y+1)||(i==x+1&&j==y+2)||(i==x-2&&j==y+1)||(i==x-1&&j==y+2)||(i==x-2&&j==y-1)||(i==x-1&&j==y-2)||(i==x+2&&j==y-1)||(i==x+1&&j==y-2)){
map[i][j]=0;
}else{
map[i][j]=map[i-1][j]+map[i][j-1];
}
}
}
/* for(int i=1;i<n;i++){
for(int j=1;j<m;j++){
map[i][j]=map[i-1][j]+map[i][j-1];
}
}
*/
// for(int i=0;i<=n;i++){
// for(int j=0;j<=m;j++){
// cout<<map[i][j]<<'\t';
// }
// cout<<endl;
// }
cout<<map[n][m];
return 0;
}
```
by JAMERES86 @ 2018-08-11 11:00:49
#include<bits/stdc++.h>
using namespace std;
int dp[25][25];
int main()
{
int n,m,a,b;
cin>>n>>m>>a>>b;
for(int i=0;i<=n;i++){
for(int j=0;j<=m;j++){
dp[i][j]=1;
if(a-2>=0 && b-1>=0) dp[a-2][b-1]=0;
else if(a-2>=0 && b+1<=m) dp[a-2][b+1]=0;
else if(a-1>=0 && b-2>=0) dp[a-1][b-2]=0;
else if(a-1>=0 && b+2<=m) dp[a-1][b+2]=0;
else if(a+2<=n && b-1>=0) dp[a+2][b-1]=0;
else if(a+1<=n && b-2>=0) dp[a+1][b-2]=0;
else if(a+1<=n && b+2<=m) dp[a+1][b+2]=0;
else if(a+2<=n && b+1<=m) dp[a+2][b+1]=0;
dp[a][b]=0;
}
}
for(int i=0;i<=n;i++){
for(int j=0;j<=m;j++){
if(dp[i][j]){
if(i==0 && j==0) continue;
else if(i==0) dp[i][j]=dp[i][j-1];
else if(j==0) dp[i][j]=dp[i-1][j];
else dp[i][j]=dp[i][j-1]+dp[i-1][j];
}
}
}
cout<<dp[n][m]<<endl;
return 0;
}
by PerfectJames @ 2018-08-11 11:42:13
@[PerfectJames](/space/show?uid=66803)
大佬帮忙看下
by PerfectJames @ 2018-08-11 11:42:43