杭电1002 Etaoin Shrdlu
English: ETAOINSHR
German: ENIRSATUD
French: EAISTNRUL
Spanish: EAOSNRILD
Italian: EAIONLRTS
Finnish: AITNESLOK
Just as important as the relative frequencies of single characters are those of pairs of characters, so called digrams. Given several text samples, calculate the digrams with the top relative frequencies.
#include<iostream>
#include<cstdio>
#include<cstring> using namespace std; int main()
{
int dp[][]={};//辅助数组。
char m[];//对字符串的输入
string str;//合成字符的存储;
int max=;//存储最大的次数
int n;//存储行数;
int j,i;//循环变量;
int leng;//存储总长度;
char a,b;
while(cin>>n)
{
gets(m);//录入n后的回车;
if(n==)break;//当n等于0是跳出;
memset(dp,,sizeof(dp));
gets(m);//录入第一行;
str=m;//存入str中
for(i=;i<=n;i++)
{
gets(m);//录入第i行;
str+=m;//存入str中;
}
leng=str.length();//读出str的长度;
for(i=;i<=leng-;i++)//逐个检测;
{
dp[str[i]][str[i+]]++;
}
max=;
double sum=;
for(i=;i<;i++)
{
for(j=;j<;j++)
{
if(dp[i][j]>max)max=dp[i][j];
sum+=dp[i][j];
}
}
n=;
while(max)
{
for(i=;i<;i++)
{
for(j=;j<;j++)
{
if(dp[i][j]==max)
{
a=i;
b=j;
cout<<a<<b<<" "<<max<<" ";
printf("%.6f\n",max/sum);
n++;
}
if(n==)break;//输出5组停止
}
if(n==)break;//输出5组停止
}
max--;
if(max==||n==)break;//输出5组停止,输出不够5组停止;
}
cout<<endl;//每个样例输出结束后输出一行空格;
}
return ;
}
杭电1002 Etaoin Shrdlu的更多相关文章
- 杭电 1002 A + B Problem II【大数相加】
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1002 解题思路:就是把大的数用数组存放起来,像小学的时候用竖式加法来算两个数相加那样算: 反思:思路很 ...
- A + B Problem II(杭电1002)
/*A + B Problem II Problem Description I have a very simple problem for you. Given two integers A an ...
- 杭电acm 1002 大数模板(一)
从杭电第一题开始A,发现做到1002就不会了,经过几天时间终于A出来了,顺便整理了一下关于大数的东西 其实这是刘汝佳老师在<算法竞赛 经典入门 第二版> 中所讲的模板,代码原封不动写上的, ...
- 杭电ACM(1002) -- A + B Problem II 大数相加 -提交通过
杭电ACM(1002)大数相加 A + B Problem II Problem DescriptionI have a very simple problem for you. Given two ...
- 杭电ACM刷题(1):1002,A + B Problem II 标签: acmc语言 2017-05-07 15:35 139人阅读 评
最近忙于考试复习,没有多少可供自己安排的时间,所以我利用复习之余的空闲时间去刷刷杭电acm的题目,也当对自己编程能力的锻炼吧. Problem Description I have a very si ...
- 杭电ACM分类
杭电ACM分类: 1001 整数求和 水题1002 C语言实验题——两个数比较 水题1003 1.2.3.4.5... 简单题1004 渊子赛马 排序+贪心的方法归并1005 Hero In Maze ...
- 杭电ACM题单
杭电acm题目分类版本1 1002 简单的大数 1003 DP经典问题,最大连续子段和 1004 简单题 1005 找规律(循环点) 1006 感觉有点BT的题,我到现在还没过 1007 经典问题,最 ...
- 杭电acm习题分类
专注于C语言编程 C Programming Practice Problems (Programming Challenges) 杭电ACM题目分类 基础题:1000.1001.1004.1005. ...
- 2017杭电ACM集训队单人排位赛 - 6
2017杭电ACM集训队单人排位赛 - 6 排名 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 59 1 X X 1 1 X X 0 1 ...
随机推荐
- jdk之String
学习几个常用的String方法 1.concat /** * Concatenates the specified string to the end of this string. 连接指定的字符串 ...
- Python学习笔记——基础篇【第七周】———进程、线程、协程篇(socket基础)
http://www.cnblogs.com/wupeiqi/articles/5040823.htmlhttp://i.cnblogs.com/EditPosts.aspx?postid=55437 ...
- Java 序列化 JDK序列化总结
Java 序列化 JDK序列化总结 @author ixenos Java序列化是在JDK 1.1中引入的,是Java内核的重要特性之一.Java序列化API允许我们将一个对象转换为流,并通过网络发送 ...
- <hdu-2032>杨辉三角
这是杭电hdu上杨辉三角的链接:http://acm.hdu.edu.cn/showproblem.php?pid=2032 Problem Description: 还记得中学时候学过的杨辉三角吗 ...
- Ecstore启用www.ecstore.com和m.ecstore.com域名
Ecstore启用www.ecstore.com和m.ecstore.com域名 修改config/mapper.php if($_SERVER['SERVER_NAME']=='www.ecstor ...
- from表单实现无跳转上传文件,接收页面后台数据。
本文基于我刚写的http://www.cnblogs.com/iwang5566/p/6287529.html进行了简单的扩展,实现页面无跳转表单数据提交,并接收后台返回的数据. 下载好,上一篇文章d ...
- eclipse背景主题
长时间对着电脑敲代码,眼睛受不了啊,果然程序员就没人权吗?之前咱给codeblocks背景换了颜色,去官网上粘粘代码然后替换一下就行了,这里不多说, 这里说的是给ecllipse换主题,按理说ecli ...
- BFS,DFS伪代码
//bfs #define queue_init (head=tail=0) #define queue_is_empty (head==tail) #define en_queue(x) (queu ...
- H264所采用的指数格伦布熵编码算法原理及应用
1 指数格伦布熵编码算法原理 1.1 无符号整数k阶指数格伦布算法编码过程: 1) 将数字以二进制形式写出,去掉最低的k个比特位,之后加1 2) 计算留下的比特数,将此数减一,即是需要增加的前导零个数 ...
- ubuntu 开机进入不了图形界面
在开机的时候有注意到空间不足.第二天重启的时候进入不了系统. 但是 ctrl + alt _F6 可以进入shell . 于是估计是空间不足导致进入不了系统. 找到哪里文件夹空间异常的大就可以解决问 ...