这个为什么算出来不对,求教?
查看原帖
这个为什么算出来不对,求教?
745237
linhongyu2009楼主2024/9/8 10:54
#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n,m,p,q;
    cin >> n >> m >> p >> q;
    int a[n+1][m+1];
    for(int i=1;i<=n;i++){
       if(q==2&&(p-i)*(p-i)==1) continue;
       a[i][0]=1;
    }
    for(int i=1;i<=m;i++){
       if(p==2&&(q-i)*(q-i)==1) continue;
       a[0][i]=1;
    }
    for(int i=1;i<=n;i++){
       for(int j=1;j<=m;j++){
          if((p-i)*(p-i)==4&&(q-j)*(q-j)==1 || (p-i)*(p-i)==1&&(q-j)*(q-j)==4){
             a[i][j]=0;
          }else{
             a[i][j]=a[i-1][j]+a[i][j-1];
          }
       }
    }
    cout<< a[n][m];
    return 0;
}
2024/9/8 10:54
加载中...