1 条题解

  • 7
    @ 2024-10-4 13:09:58

    水模拟

    遍历对角线的两方,看是否存在满足条件的一边,若存在,输出 ans,否则输出 None exist!(注意开 long long,并且在乘法过程中取模)

    #include<bits/stdc++.h>
    using namespace std;
    const long long mod=1e9+7;
    long long a[808][808],n,ans=1,flag1=0,flag2=0;
    int main(){
       //freopen("linear.in","r",stdin);
       //freopen("linear.out","w",stdout);
       cin>>n;
       for(int i=1;i<=n;i++)
          for(int j=1;j<=n;j++)
             cin>>a[i][j];
       for(int i=1;i<=n;i++) ans=(ans*a[i][i])%mod;
       for(int i=2;i<=n;i++){
          for(int j=1;j<i;j++){
             if(a[i][j]!=0) flag1=1;
          }
       }
       for(int j=2;j<=n;j++){
          for(int i=1;i<j;i++){
             if(a[i][j]!=0) flag2=1;
          }
       }
       if(flag1==0||flag2==0) cout<<ans;
       else cout<<"None exist!";
       return 0;
    }
    

信息

ID
778
时间
1000ms
内存
256MiB
难度
7
标签
(无)
递交数
121
已通过
26
上传者