G.文
链接:https://www.nowcoder.com/acm/contest/86/G
这个题wa了一发,有点智障,浮点数,式子里面要*1.0,忘了,然后wa了,改了就过了(脑子有坑)
代码:
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<cmath> 5 #include<cstdlib> 6 #include<algorithm> 7 #include<queue> 8 #include<vector> 9 #include<stack> 10 using namespace std; 11 typedef long long ll; 12 const int maxn=1e5+10; 13 const double eps=1e-7; 14 15 struct node{ 16 string name; 17 char c[maxn]; 18 int num=0; 19 }a[110]; 20 21 bool cmp(node a,node b){ 22 if(a.num<b.num)return 1; 23 else if(a.num==b.num){ 24 if(a.name<b.name)return 1; 25 else return 0; 26 } 27 else return 0; 28 } 29 char s[maxn]; 30 int main(){ 31 int n,m; 32 cin>>n>>m; 33 for(int i=0;i<n;i++) 34 cin>>s[i]; 35 for(int i=0;i<m;i++){ 36 cin>>a[i].name>>a[i].c; 37 for(int j=0;j<n;j++){ 38 if(a[i].c[j]!=s[j])a[i].num++; 39 } 40 } 41 sort(a,a+m,cmp); 42 cout<<a[0].name<<endl; 43 double score=100*1.0/n*(n-a[0].num); 44 printf("%.2f\n",score); 45 }