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) ...
随机推荐
- linux下如何优雅的挂载一个外界设备(比如优盘)
最近从事linux,实验室一个破服务器,能连上网,但是输入这样的命令: yum -y install gcc yum -y install gcc-c++ ,居然说是没有这样的镜像,也罢 ...
- 关闭“JDK自动更新”提示
- 10 vi简介(重点)
1.为什么学习vi? vi很多系统都预装,如果我们的系统没有图像界面,可以使用vi vi是轻量级且执行快速的编辑器 2.vi的几种模式 命令模式.插入模式.底行模式 1) 命令行模式(command ...
- 点击每一个button,弹出相应的索引号
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- K2工作流的使用
K2的工作流作为工作流中的战斗机,被各大企业争相抢购着,当然我们公司也买了,用起来确实方便也的确很强大. 主要分两的模块: 一.K2.net 2003 Service Manager 以上是对配置用户 ...
- ACTIVITI 研究代码 之 模版模式
模板方法模式需要开发抽象类和具体子类的设计师之间的协作.一个设计师负责给出一个算法的轮廓和骨架,另一些设计师则负责给出这个算法的各个逻辑步骤.代表这些具体逻辑步骤的方法称做基本方法(primitive ...
- C#学习笔记思维导图 一本书22张图
阅读的书是<21天学通C#>博客中有下载 看看总结之后的模块 全部文件 初步展示 数据存储 继承模块 暂时就这些吧 全部思维导图22张打包下载
- CSS从今以后不用发愁
Bootstrap 简洁.直观.强悍的前端开发框架,让web开发更迅速.简单. Bootstrap3中文文档 Bootstrap2中文文档 http://www.bootcss.com/
- FZU 2032 Log函数问题 模拟小数加法
题目链接:Log函数问题 2 / 49 Problem G FZU 2032 Log函数问题 不知道为什么...比赛时高精度难倒了一票人...成功搞出大新闻... 试了一下直接double相加超时,然 ...
- RemoveDPC
HOOKSSDT中加入了DPC之后 要取消DPC 首先找到DPCHookSSDT.sys的基地址和大小 通过枚举所有DPC的地址 将在范围之内的DPC定时器全部移除 枚举DPC: WinXP: 1. ...