HDOJ-三部曲-1002-Etaoin Shrdlu
ContestsProblemsRanklistStatusStatistics
Etaoin Shrdlu
Time Limit : 2000/1000ms (Java/Other) Memory Limit : 131072/65536K (Java/Other)
Total Submission(s) : 59 Accepted Submission(s) : 12
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<string.h>
#include<iomanip>
#include<stdio.h>
using namespace std;
struct digram
{
char c1,c2;
int num;
}dig[5]; //用来存储符合条件的5个双字符组合
int main()
{
int n,i,j;
char s[64][81];
while(cin>>n&&n)
{
getchar();
int ascii[128][128]={0},k=0;
char let[10000];
for(i=0;i<n;i++)
{
cin.getline(s[i],80);
int size=strlen(s[i]);
for(j=0;j<size;j++)
let[k++]=s[i][j]; //存储各个字符
}
int total=k-1; //双字符总数
for(i=0;i<k-1;i++) //统计各种双字符组合的个数
ascii[let[i]][let[i+1]]++;
for(i=0;i<5;i++) //寻找符合条件的5个双字符组合
{
dig[i].num=0;
for(j=0;j<128;j++)
{
for(k=0;k<128;k++)
if(dig[i].num<ascii[j][k]||dig[i].num==ascii[j][k]&&(dig[i].c1>j||dig[i].c1==j&&dig[i].c2>k))
{
dig[i].num=ascii[j][k];
dig[i].c1=j;
dig[i].c2=k;
}
}
ascii[dig[i].c1][dig[i].c2]=0;
}
for(i=0;i<5;i++)
cout<<dig[i].c1<<dig[i].c2<<' '<<dig[i].num<<' '<<setiosflags(ios::fixed)<<setprecision(6)<<1.0*dig[i].num/total<<endl;
cout<<endl;
}
}
HDOJ-三部曲-1002-Etaoin Shrdlu的更多相关文章
- 杭电1002 Etaoin Shrdlu
Problem Description The relative frequency of characters in natural language texts is very important ...
- HDOJ三部曲-DP-1017-pearls
Pearls Time Limit : 2000/1000ms (Java/Other) Memory Limit : 20000/10000K (Java/Other) Total Submis ...
- 杭电ACM分类
杭电ACM分类: 1001 整数求和 水题1002 C语言实验题——两个数比较 水题1003 1.2.3.4.5... 简单题1004 渊子赛马 排序+贪心的方法归并1005 Hero In Maze ...
- HOJ题目分类
各种杂题,水题,模拟,包括简单数论. 1001 A+B 1002 A+B+C 1009 Fat Cat 1010 The Angle 1011 Unix ls 1012 Decoding Task 1 ...
- 转载:hdu 题目分类 (侵删)
转载:from http://blog.csdn.net/qq_28236309/article/details/47818349 基础题:1000.1001.1004.1005.1008.1012. ...
- DFS ZOJ 1002/HDOJ 1045 Fire Net
题目传送门 /* 题意:在一个矩阵里放炮台,满足行列最多只有一个炮台,除非有墙(X)相隔,问最多能放多少个炮台 搜索(DFS):数据小,4 * 4可以用DFS,从(0,0)开始出发,往(n-1,n-1 ...
- hdoj 1002 A+B(2)
Problem Description I have a very simple problem for you. Given two integers A and B, your job is to ...
- hdoj 1002 A + B Problem II
A + B Problem II Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- hdoj 1002 A + B Problem II【大数加法】
A + B Problem II Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
随机推荐
- hdu----(2222)Keywords Search(trie树)
Keywords Search Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)T ...
- HDU-------(2795)Billboard(线段树区间更新)
Billboard Time Limit: 20000/8000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
- HDUOJ--汉诺塔II
汉诺塔II Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Subm ...
- 张艾迪(创始人):AOOOiA.global因梦想而诞生
AOOOiA.global因梦想而诞生 The World No.1 Girl :Eidyzhang The World No.1 Internet Girl :Eidyzhang AOOOiA.gl ...
- Visual Studio中的快捷键
我们在使用Visual Studio的时候,如用一些快捷键,就能减少我们键盘和鼠标来回切换的次数,从而提高我们编码的速度,在此跟大家分享一些经常Visual Studio中用到的快捷键 自动缩进:选中 ...
- Struts2 用 s:if test 判断String类型的对象属性值和单字符是否相等的问题
Struts2 用 s:if test 判断String类型的对象属性值和单字符是否相等的问题 首先,这里所指的单字符形如:Y,男. 有两种做法: a. <s:if test='news.s ...
- [转]JDK6和JDK7中的substring()方法
substring(int beginIndex, int endIndex)在JDK6与JDK7中的实现方式不一样,理解他们的差异有助于更好的使用它们.为了简单起见,下面所说的substring() ...
- 实现IEnumberable接口和IEnumberator
class BookEnum : IEnumerator //实现foreach语句内部,并派生 { public Book[] _book; //实现数组 ;//设置“指针” public Book ...
- JMETER JDBC操作
本文目标 1.添加测试计划 2.配置JDBC连接 3.插入数据 4.使用控制器 5.查看插入结果 1.添加测试计划 添加mysql驱动 2.添加测试计划 3.添加JDBC连接 在这里JDB ...
- 批量插入使用SqlBulkCopy
对于大量的数据插入,我们可以使用批量插入功能来提升性能,例如.