今天我做题的时候,发现蓝桥杯省赛历年真题里有一道题——#C. 评选最佳品牌。
评选最佳品牌需要考虑很多,我做了很长时间才做出来。
去把程序!
#include<iostream>
#include<cstring>
using namespace std;
string s[1000];
int p[10],m,n,out[10],tt;
int main(){
cin>>m>>n;
for(int i=0;i<n;i++) cin>>s[i];
for(int i=0;i<m;i++){
for(int j=0;j<m;j++) p[j]=0;
for(int j=0;j<n;j++){
for(int k=0;s[j][k]!='\0';k++){
int x=s[j][k]-'0'-1;
if(0<=x&&x<m&&!out[x]){
p[x]++;
break;
}
}
}
int mi=n;
for(int j=0;j<m;j++) if(!out[j]) mi=min(p[j],mi);
for(int j=0;j<m;j++){
if(mi==p[j]&&!out[j]){
out[j]=1;
tt++;
if(tt==m&&i<m-1){
cout<<0-p[j];
return 0;
}
}
}
if(tt==m-1){
for(int j=0;j<m;j++){
if(out[j]==0){
cout<<j+1;
return 0;
}
}
}
}
return 0;
}