Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
21248 | awojsafdsa | 配方 | C++ | 通过 | 100 | 0 MS | 260 KB | 623 | 2021-06-26 20:10:43 |
#include<bits/stdc++.h> using namespace std; int a[1005][20],b[20]; int i,j,n,k,flag=1,ans=1; int main(){ cin>>n>>k; for(i=1;i<=n&&flag;i++) { //n个人 for(j=1;j<=k&&flag;j++){//k种配方要求 cin>>a[i][j]; if(a[i][j]==0) continue;//如果是0,不处理 if(b[j]==0) b[j]=a[i][j];//如果第j种配方没有设置,就设置。 else if(b[j]!=a[i][j]) flag=0;//如果读入的配方有矛盾,则无解 } } for(i=1;i<=k;i++){ if(b[i]==0) ans*=2; //配方选择为0,表示可有可无,两种情况,乘法原理 } if(flag) cout<<ans; else cout<<"-1"; return 0; }