链接:https://www.nowcoder.com/acm/contest/86/G
来源:牛客网
1 #include <algorithm> 2 #include <cstdio> 3 #include <cstring> 4 #include <string> 5 #include <cmath> 6 #include <iostream> 7 #include <map> 8 #include <queue> 9 #include <set> 10 #include <vector> 11 using namespace std; 12 char cor[100000+5],ans[100000+5]; 13 int main(){ 14 // testin("data.in"); 15 16 int n,m; 17 cin>>n>>m; 18 scanf("%s",cor); 19 set<pair<string,int> > rank; 20 string name; 21 int sum=0; 22 for(int i=0;i<m;i++){ 23 sum=0; 24 cin>>name; 25 scanf("%s",ans); 26 if(strcmp(cor,ans)==0) 27 sum=n; 28 else{ 29 for(int j=0;j<n;j++) 30 if(cor[j]==ans[j]) sum++; 31 } 32 33 // debug_b(name),debug_l(sum); 34 35 if(rank.size()==0 || sum>rank.begin()->second){ 36 rank.clear(); 37 rank.insert(make_pair(name,sum)); 38 } 39 if(sum==rank.begin()->second) 40 rank.insert(make_pair(name,sum)); 41 } 42 43 cout<<rank.begin()->first<<endl; 44 printf("%.2f\n",1.0* rank.begin()->second / n*100); 45 return 0; 46 }
原文:https://www.cnblogs.com/TianyuSu/p/9398483.html