Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 80469 Accepted Submission(s): 30293
题目要求比较简单就是要你把出现最多的字符串输出出来
由于现在还不会用map所以写的比较水
1 #include<iostream> 2 #include<cstring> 3 #include<cstdio> 4 using namespace std; 5 6 struct S 7 { 8 char s[20]; 9 int n; 10 }X[1010]; 11 12 int main() 13 { 14 char s[20]; 15 int n,i,m,max; 16 while(cin>>n,n) 17 { 18 max=1;///因为输入为0的时候跳出max可以直接从1开始 19 memset(X,0,sizeof(X)); 20 m=0;///标记有多少个不同的字符串 21 while(n--) 22 { 23 cin>>s; 24 for(i=0;i<m;i++) 25 if(!strcmp(s,X[i].s)){ 26 X[i].n++; 27 if(X[i].n>max) 28 max=X[i].n; 29 break; 30 } 31 if(i==m){ 32 strcat(X[i].s,s); 33 X[m++].n=1; 34 } 35 } 36 for(i=0;i<m;i++) 37 if(max==X[i].n) 38 { 39 puts(X[i].s); 40 break; 41 } 42 } 43 return 0; 44 }
原文:http://www.cnblogs.com/LQBZ/p/4249093.html