社区讨论
暴力万岁
P1002[NOIP 2002 普及组] 过河卒参与者 12已保存回复 75
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 75 条
- 当前快照
- 1 份
- 快照标识符
- @mi7xrmac
- 此快照首次捕获于
- 2025/11/21 05:21 4 个月前
- 此快照最后确认于
- 2025/11/21 06:58 4 个月前
#include<bits/stdc++.h>
long long B[21][21];
int main(void)
{
int i,j,n,m,a,b;
scanf("%d%d%d%d",&n,&m,&a,&b);
for(i=0;i<=n;i++)
for(j=0;j<=m;j++)
B[i][j]=1;
if(a-2>=0&&b-1>=0)
B[a-2][b-1]=0;
if(a-2>=0&&b+1<=m) B[a-2][b+1]=0; if(a-1>=0&&b-2>=0) B[a-1][b-2]=0; if(a-1>=0&&b+2<=m) B[a-1][b+2]=0; if(a+1<=m&&b-2>=0) B[a+1][b-2]=0; if(a+2<=n&&b-1>=0) B[a+2][b-1]=0; if(a+1<=n&&b+2<=m) B[a+1][b+2]=0; if(a+1<=n&&b+1<=m) B[a+2][b+1]=0; B[a][b]=0; for(i=0;i<=n;i++){ for(j=0;j<=m;j++){ if(B[i][j]){ if(i==0&&j==0) continue; else if(i==0) B[i][j]=B[i][j-1]; else if(j==0) B[i][j]=B[i-1][j]; else B[i][j]=B[i-1][j]+B[i][j-1]; } } } printf("%lld",B[n][m]);
return 0; }
if(a-2>=0&&b+1<=m) B[a-2][b+1]=0; if(a-1>=0&&b-2>=0) B[a-1][b-2]=0; if(a-1>=0&&b+2<=m) B[a-1][b+2]=0; if(a+1<=m&&b-2>=0) B[a+1][b-2]=0; if(a+2<=n&&b-1>=0) B[a+2][b-1]=0; if(a+1<=n&&b+2<=m) B[a+1][b+2]=0; if(a+1<=n&&b+1<=m) B[a+2][b+1]=0; B[a][b]=0; for(i=0;i<=n;i++){ for(j=0;j<=m;j++){ if(B[i][j]){ if(i==0&&j==0) continue; else if(i==0) B[i][j]=B[i][j-1]; else if(j==0) B[i][j]=B[i-1][j]; else B[i][j]=B[i-1][j]+B[i][j-1]; } } } printf("%lld",B[n][m]);
return 0; }
回复
共 75 条回复,欢迎继续交流。
正在加载回复...