本文主要是介绍Hust oj 1109 店长终极推荐(字符串),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
店长终极推荐 |
Time Limit: 2000 MS | Memory Limit: 65536 K | Total Submit: 491(135 users) | Total Accepted: 167(123 users) | Rating: | Special Judge: No | |
Description |
玩腻了两个工具之后,店长决定要好好学习.玩工具伤身体啊!!店长决定教大家学习阅读,店长总能总学习中找到乐趣,无聊的他找了一篇文章,由各种字符组成,他想统计下这篇阅读中,出现最多次数的相邻两个字符组合是什么? |
Input |
第一行输入一个整数T表示测试数据组数 接下来输入一行,包括一篇文章,文章由最多不超过200个字符(由任意ascii字符组成) 当T=0时结束 |
Output |
统计文章中出现频度最高的两个连续字符,并且输入然后换行. 如果最高的有多组,按照字典顺序排序后输出第一个. 每T组测试数据后,需要输出一个换行 |
Sample Input |
1 %#@!%# 2 This is a test! Dianzhang JiaoZhu and Jiashou |
Sample Output |
%# is an |
Hint |
店长自此开始学习复习考研了,一个神秘人物出现了,传说中的叫兽??敬请期待 |
Author |
void 用二维数组存一下ascii值就好辣,只要相同就加1,之后在从头到尾扫一边看谁最大就输出 #include<stdio.h>
#include<string.h>
char str[210];
int a[260][260];int main()
{int t;while (~scanf("%d", &t)){getchar();while (t--){memset(a, 0, sizeof(a));gets(str);int len = strlen(str);for (int i=0; i<len-1; ++i){a[int(str[i])][int(str[i+1])]++;}int max = -1;int ii, jj;for (int i=0; i<260; i++){for (int j=0; j<260; ++j){if (max < a[i][j]){max = a[i][j];ii = i;jj = j;}}}printf("%c%c\n", ii, jj);if (t == 0)printf("\n");}}return 0;
}CopyBackShare
|
这篇关于Hust oj 1109 店长终极推荐(字符串)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!