提交时间:2024-02-21 18:35:35

运行 ID: 41519

#include<bits/stdc++.h> using namespace std; int g[1010][15]={},piao[15]={}; bool st[1],success=true; int last_piaoshu,last_pinpai; int n,m; void pingxuan(){ while(1){ memset(piao,0,sizeof(piao)); for(int i=1;i<=n;i++){ for(int j=1;j<m;j++){ int k=g[i][j]; if(k==0) break; if(st[k]) continue; piao[k]++; break; } } int minn=1001,maxn=-1001; for(int i=1;i<m;i++){ if(piao[i]<minn&&!st[i]) minn=piao[i]; if(piao[i]>maxn&&!st[i]) maxn=piao[i]; } if(maxn>minn){ for(int i=1;i<m;i++){ if(piao[i]==minn&& st[i]==false) st[i]=true; } continue; } else{ int sum=0; for(int i=1;i<m;i++){ if(piao[i]==minn) sum++,last_pinpai=i; } if(sum==1)return; else{ last_piaoshu=minn; seccess=false; return; } } } } int main(){ cin>>m>>n; for(int i=1;i<=n;i++){ string s; cin>>s; for(int j=0;j<s.size();j++){ g[i][j+1]=s[j]-'0'; } } pingsuan(); if(success) cout<<last_pinpai; else cout<<"-"<<last_piaoshu; return 0; }