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) ...
随机推荐
- FireFox 一键清理缓存
https://addons.mozilla.org/zh-CN/firefox/addon/empty-cache-button/
- 初始jQuery
JQuery是继prototype之后又一个优秀的Javascript库.它是轻量级的js库 ,它兼容CSS3,还兼容各种浏览器(IE 6.0+, FF1.5+, Safari 2.0+, Opera ...
- #ifdef __cplusplus extern "C"
#ifdef __cplusplus extern "C" { #endif //一段代码 #ifdef __cplusplus } #endif首先,__cplusplus是cp ...
- OpenStack/Gnocchi简介——时间序列数据聚合操作提前计算并存储起来,先算后取的理念
先看下 http://www.cnblogs.com/bonelee/p/6236962.html 这里对于环形数据库的介绍,便于理解归档这个操作! 转自:http://blog.sina.com.c ...
- Entity Framework - 理清关系 - 基于外键关联的单向一对一关系
注:本文针对的是 Entity Framework Code First 场景. 之前写过三篇文章试图理清Entity Framework中的一对一关系(单相思(单向一对一), 两情相悦(双向一对 ...
- InitializeComponent System.StackOverflowException
因为一直重复调用了InitializeComponent,WPF报System.StackOverflowException错误,提示死循环似的调用.经过一阵排查得出下面结论: 避免在隐藏代码中使用O ...
- BestCoder——59
http://bestcoder.hdu.edu.cn/contests/contest_show.php?cid=640 第一题:给一堆书的序列 每次操作只能将书从中间移到最上面 求最少移动多少次 ...
- [Js]拖拽
分析: 1.鼠标按下,拖拽开始,鼠标移动,拖拽进行,鼠标抬起,拖拽结束(三个事件) 2.被拖动元素与鼠标之间的位置在拖动过程中始终不变,利用这个原理,被拖动元素的位置就是鼠标的左(上)边距-鼠标与被拖 ...
- Html11.09CSS层叠样式表内容整理
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 怎么学好python?
文章摘自:http://www.jb51.net/article/16100.htm 1)学好python的第一步,就是马上到www.python.org网站上下载一个python版本.我建议初学者, ...