提交时间:2024-02-21 19:17:49

运行 ID: 41567

#include<bits/stdc++.h> using namespace std; int g[1100][20],piao[20],last_piaoshu,last_pinpai,n,m; bool st[15],s=true; 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 mi=1001,ma=-1001; for(int i=1;i<m;i++){ if(piao[i]<mi&&!st[i]) mi=piao[i]; if(piao[i]>ma&&!st[i]) ma=piao[i]; } if(ma>mi){ for(int i=1;i<=m;i++){ if(piao[i]==mi&&st[i]==false) st[i]=true; } continue; } else { int sum=0; for(int i=1;i<=m;i++){ if(piao[i]==mi) sum++,last_pinpai=i; } if(sum==1) return; else { last_piaoshu=mi; s=false; return; } } } } int main() { cin>>m>>n; for(int i=1;i<=n;i++){ string str; cin>>str; for(int j=0;j<str.size();j++){ g[i][j+1]=str[j]-'0'; } } pingxuan(); if(s) cout<<last_pinpai<<endl; else cout<<'-'<<last_piaoshu<<endl; return 0; }