社区讨论
34两点wa
P1002[NOIP 2002 普及组] 过河卒参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @m1ge2rd1
- 此快照首次捕获于
- 2024/09/24 20:04 去年
- 此快照最后确认于
- 2024/09/24 21:32 去年
CPP
#include<bits/stdc++.h>
using namespace std;
long long dp[21][21],bx,by,mx,my;
bool pd(int x,int y){
if(x==mx&&y==my)return 1;
if(x==mx+1&&y==my+2)return 1;
if(x==mx+2&&y==my+1)return 1;
if(x==mx-1&&y==my+2)return 1;
if(x==mx-2&&y==my+1)return 1;
if(x==mx+1&&y==my-2)return 1;
if(x==mx+2&&y==my-1)return 1;
if(x==mx-1&&y==my-2)return 1;
if(x==mx-2&&y==my-1)return 1;
return 0;
}
int main(){
cin >>bx>>by>>mx>>my;
memset(dp,0,sizeof(dp));
for(int i=0;i<=bx;i++)
dp[i][0]=1;
for(int i=0;i<=by;i++)
dp[0][i]=1;
for(int i=-2;i<=2;i++){
for(int j=-2;j<=2;j++){
if(i==0&&j!=0)continue;
if(abs(i)==2&&abs(j)==2)continue;
if(abs(j)==1&&abs(i)==1)continue;
if(mx-i>=0&&my-j>=0)
dp[mx-i][my-j]=0;
}
}
for(int i=1;i<=bx;i++)
for(int j=1;j<=by;j++)
if(!pd(i,j))
dp[i][j]=dp[i-1][j]+dp[i][j-1];
cout<<dp[bx][by];
return 0;
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...