hrbust 训练赛 1109
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hrbust 训练赛 1109相关的知识,希望对你有一定的参考价值。
链接:
http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProblem&problem_id=1109
解析思路:
两两组成一个字符串再比较一下
代码:
#include<bits/stdc++.h> using namespace std; struct str { char name[10]; }s[205]; bool cmp(str a,str b) { if(a.name[0] != b.name[0]) { return a.name[0] < b.name[0]; } else { return a.name[1] < b.name[1]; } } int main() { int t; while(~scanf("%d",&t)) { if(t==0) break; getchar(); char a[205]; while(t--) { gets(a); int j = 0; int len = strlen(a); for(int i = 0; i < len-1; i++) { s[j].name[0] = a[i]; s[j].name[1] = a[i+1]; j++; } sort(s,s+j,cmp); str temp; str ans; int num = 1; int cnt = 0; temp = s[0]; for(int i = 1 ; i <= j; i++) { //printf("s[j]----------%s********\n",s[i].name); int flag = strcmp(temp.name,s[i].name); if(flag == 0) { num++; } else { if(cnt < num) { cnt = num; ans = s[i-1]; } num = 1; temp = s[i];//从下一个开始比较 } } printf("%s\n",ans.name); } puts(""); } return 0; }
以上是关于hrbust 训练赛 1109的主要内容,如果未能解决你的问题,请参考以下文章