3 条题解
-
0
#include<iostream> using namespace std; const int N=20+10; int n,m,x,y; bool v[N][N]; long long a[N][N]; int dx[]={0,-1,-2,-2,-1,1,2,2,1}; int dy[]={0,-2,-1,1,2,2,1,-1,-2}; void init(){ for(int i=0;i<=8;i++){ int xx=x+dx[i]; int yy=y+dy[i]; if(xx>=0&&xx<=n&&yy>=0&&yy<=n){ v[xx][yy]=1; } } for(int i=0;i<=m;i++){ if(v[0][i]==0){ a[0][i]=1; }else{ break; } } for(int i=0;i<=n;i++){ if(v[i][0]==0){ a[i][0]=1; }else{ break; } } } int main(){ cin>>n>>m>>x>>y; init(); for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ if(v[i][j]==0){ a[i][j]=a[i-1][j]+a[i][j-1]; } } } cout<<a[n][m]; }
信息
- ID
- 659
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 2
- 标签
- 递交数
- 91
- 已通过
- 54
- 上传者