蒟蒻求助

P1002 [NOIP2002 普及组] 过河卒

抱歉贴错了 ```c++ #include <bits/stdc++.h> using namespace std; int a[30][30]; int n,m,x,y; bool house(int i,int j){ if(i==x and j==y)return 0; if(i==x+1 and j==y+2)return 0; if(i==x+1 and j==y-2)return 0; if(i==x+2 and j==y+1)return 0; if(i==x+2 and j==y-1)return 0; if(i==x-1 and j==y+2)return 0; if(i==x-1 and j==y-2)return 0; if(i==x-2 and j==y+1)return 0; if(i==x-2 and j==y-1)return 0; return 1; } int main(){ cin>>n>>m>>x>>y; for(int i=0;i<n;i++){ a[i][0]=1; } for(int i=0;i<m;i++){ a[0][i]=1; } for(int i=1;i<n;i++){ for(int j=1;j<m;j++){ if(!house(i,j)){ a[i][j]=0; continue; } a[i][j]=a[i][j-1]+a[i-1][j]; } } cout<<a[n][m]; } ```
by bzdss @ 2023-07-30 20:50:37


对不起我是弱智 i<n和j<m应改为i<=n和j<=m
by bzdss @ 2023-07-30 20:57:07


寄,40分
by bzdss @ 2023-07-30 21:00:32


继续求助
by bzdss @ 2023-07-30 21:00:48


下载数据改了之后0分了 ``` #include <bits/stdc++.h> using namespace std; int a[30][30]; int n,m,mx,my; bool house(int i,int j){ int x[8]={1,1,2,2,-1,-1,-2,-2}; int y[8]={2,-2,1,-1,2,-2,1,-1}; if(i==mx and j==my)return 0; for(int k=0;k<8;k++){ if(i==mx+x[k] and j==my+y[k])return 0; } return 1; } int main(){ cin>>n>>m>>mx>>my; for(int i=0;i<=n;i++){ a[i][0]=1; } for(int i=0;i<=m;i++){ a[0][i]=1; } for(int i=0;i<=n;i++){ for(int j=1;j<=m;j++){ if(!house(i,j)){ a[i][j]=0; continue; } a[i][j]=a[i][j-1]+a[i-1][j]; } } cout<<a[n][m]<<endl; // for(int i=0;i<=n;i++){ // for(int j=0;j<=m;j++){ // cout<<a[i][j]<<' '; // } // cout<<endl; // } }
by bzdss @ 2023-08-01 20:30:16


下载数据是对的
by bzdss @ 2023-08-01 20:31:04


|