Matrix67的情书

恺撒大帝曾经使用过这样一种加密术:对于明文中的每个字母,恺撒大帝会用它后面的第t个字母代替。例如,当t=3时,字母A将变成C,字母B将变成D,……,字母Y将变成A,字母Z将变成B(假设字母表是循环的)。
  这样一来,字母表: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
  将变成:      C D E F G H I J K L M N O P Q R S T U V W X Y Z A B

  明文: I Love You 将加密为
  密文: K Nqxg Aqw

  如此一来,需要传达的信息在外人看来就如同天书了。加上恺撒大帝会不时更换t的值,使得密码变得更加难以捉摸。

  后人称这种加密方法为“恺撒移位密码” 
有消息称:Matrix67找到了自己的Miss Right,正准备自己人生的第一次表白。Matrix67已经写好了情书,但为了避免其它人截获,他打算采用古老的恺撒移位密码进行加密。
  你通过某种渠道获知了Matrix67的加密方式。为了打探Matrix67的私密,你冒着生命危险终于搞到了这封情书。原以为可以轻易将情书解密,结果竟然发现聪明的Matrix67并没有直接写出加密用的t值,而是在那粉红色的信纸背面写着“t=你的幸运数字”。
  就这么放弃了吗?不,作为一个高智商的OIer,你决不轻言放弃。你需要编写一个解密程序,在不知道t值的情况下将原文打印出来。

输入格式:

 输入一段文字。文字中可能包含字母、数字、标点符号、空格、回车、制表符等各种符号,其中只有字母被加密处理过。加密后的字母其大小写不变。

输出格式:

你的程序需要在不知道t值的情况下解密输入文件并输出明文。
  我们的明文保证是成章的英文段落,没有语法和单词拼写错误。

样例输入:

K YKNN UJQY AQW

Agu, K co uvknn cocbgf vjcv K jcxg aqw. Kv'u uvknn jctf vq wpfgtuvcpf jqy aqw ejqug og. Jqy chvgt lwuv qpg ujqtv eqpxgtucvkqp aqw mpgy K ycu ogcpv hqt aqw. Dwv pqy K mpqy vjg vtwvj qh aqwt eqpxkevkqp. K'xg pgxgt dggp ykvj uqogqpg yjq uwkvgf og uq rgthgevna. Aqw ugfwegf og ykvj aqwt ugza dqfa cpf uvtqpi urktkv, cpf aqw'xg mgrv og ykvj aqwt vgpfgt jgctv. K mpqy aqw vjcv K ecp'v jcxg aqw eqorngvgna cpf ocadg pqv gxgp hqt owej nqpigt. Dwv K'o uvknn jcrra. C rctv qh aqw jcu dgeqog rctv qh og cpf vjcv ku gpqwij.

Aqw'nn ncwij yjgp K uca vjku, dwv K ftgco cdqwv aqw gxgta pkijv. Rtqdcdna dgecwug K ecp'v ugg aqw qhvgp gpqwij. Dwv yjgp K'o cycmg K mpqy vjcv aqw ctg vjg hwtvjguv vjkpi htqo c ftgco. Uqogvkogu K kocikpg vjcv aqw ctg dwknv htqo uqnkf tqem: c oqxkpi uvcvwg cpf cp kpfguvtwevkdng jwocp dgkpi. Aqw cduqnwvgna eqpvckp aqwtugnh cpf vjgp cickp owej oqtg vjcp aqwtugnh. Aqwt eqphkfgpeg ku eqpuwokpi cpf aqwt rgturgevkxg ku jwig. Aqw jcxg pq rnceg kp aqwt nkhg hqt lgcnqwua qt eqornckpvu. Oa htkgpfu uggo uq uocnn kp eqorctkuqp, ykvj vjgkt rtqdngou cnycau urknnkpi qxgt qpvq gxgtaqpg gnug.

K ycpv aqw vq mpqy jqy owej aqw'xg qrgpgf oa gagu cpf jgnrgf og vtwna ugg oaugnh. Wpvkn pqy, oa nkhg jcu dggp cp wpfgekfgf dcem-cpf-hqtvj, cpf pqy K mpqy vjcv K'xg ycuvgf vqq owej vkog. Dwv pqy oa fktgevkqp uggou engct, cpf K jcxg eqphkfgpeg kp oa hwvwtg. Vjg rcuv fqgup'v uggo vq ocvvgt cpaoqtg. Aqw'xg ocfg og ugg rquukdknkvkgu K yqwnf pgxgt jcxg kocikpgf dghqtg.

Agu, K ycpv vq rngcug aqw. Dwv kv'u vjtqwij rngcukpi aqw vjcv K'nn dgeqog c dgvvgt cpf uvtqpigt rgtuqp. Vjgtg ku pqvjkpi K ycpv oqtg vjcp vq vtcpuhqto oaugnh vjtqwij aqw. Aqw ejcnngpig og vq itqy dgaqpf oaugnh cpf ngcxg oa ygcmgt ugnh dgjkpf. K yknn ujqy aqw jqy dgcwvkhwn K ecp dg, cpf K yknn ujqy aqw jqy dtknnkcpv K ecp dgeqog. Vjku yca, K mpqy K'nn cnycau jcxg aqwt nqxg.

Hqtgxgt aqwtu,

Ocvtkz67

样例输出:

I WILL SHOW YOU

Yes, I am still amazed that I have you. It's still hard to understand how you chose me. How after just one short conversation you knew I was meant for you. But now I know the truth of your conviction. I've never been with someone who suited me so perfectly. You seduced me with your sexy body and strong spirit, and you've kept me with your tender heart. I know you that I can't have you completely and maybe not even for much longer. But I'm still happy. A part of you has become part of me and that is enough.

You'll laugh when I say this, but I dream about you every night. Probably because I can't see you often enough. But when I'm awake I know that you are the furthest thing from a dream. Sometimes I imagine that you are built from solid rock: a moving statue and an indestructible human being. You absolutely contain yourself and then again much more than yourself. Your confidence is consuming and your perspective is huge. You have no place in your life for jealousy or complaints. My friends seem so small in comparison, with their problems always spilling over onto everyone else.

I want you to know how much you've opened my eyes and helped me truly see myself. Until now, my life has been an undecided back-and-forth, and now I know that I've wasted too much time. But now my direction seems clear, and I have confidence in my future. The past doesn't seem to matter anymore. You've made me see possibilities I would never have imagined before.

Yes, I want to please you. But it's through pleasing you that I'll become a better and stronger person. There is nothing I want more than to transform myself through you. You challenge me to grow beyond myself and leave my weaker self behind. I will show you how beautiful I can be, and I will show you how brilliant I can become. This way, I know I'll always have your love.

Forever yours,

Matrix67

时间限制:

1000

空间限制:

65536

提示:

样例输入的文字长度远远小于实际的输入。实际输入文件将保证大于10KB且小于50KB。

 
看起来很麻烦的一道题,其实极其easy。
附:
英文字母使用频率表:(%) 
A 8.19 B 1.47 C 3.83 D 3.91 E 12.25 F 2.26 G 1.71 
H 4.57 I 7.10 J 0.14 K 0.41 L 3.77 M 3.34 N 7.06 
O 7.26 P 2.89 Q 0.09 R 6.85 S 6.36 T 9.41 
U 2.58 V 1.09 W 1.59 X 0.21 Y 1.58 Z 0.08 
可见E的频率最高,所以统计文章中最常出现的字母,必定是由E转变而来,于是做完了,神快。
 1 #include<cstdio>
 2 #include<iostream>
 3 using namespace std;
 4 char c[1000001];
 5 int times[27];
 6 int main()
 7 {
 8     int n=0;
 9     while(~scanf("%c",&c[++n]));
10     for(int i=1;i<=n;i++)
11     {
12         if(c[i]>='a'&&c[i]<='z') times[c[i]-'a'+1]++;
13         if(c[i]>='A'&&c[i]<='Z') times[c[i]-'A'+1]++;
14     }
15     int ans=0,pos;
16     for(int i=1;i<=26;i++) if(ans<times[i])
17     {
18         ans=times[i];
19         pos=i;
20     }
21     ans=pos-5;
22     int x;
23     char tmp;
24     for(int i=1;i<=n;i++)
25     {
26         if(c[i]>='a'&&c[i]<='z')
27         {
28             x=c[i]-'a'-ans+26;
29             x%=26;
30             x+='a';
31             tmp=x;
32             printf("%c",tmp);
33         }
34         else if(c[i]>='A'&&c[i]<='Z')
35         {
36             x=c[i]-'A'-ans+26;
37             x%=26;
38             x+='A';
39             tmp=x;
40             printf("%c",tmp);
41         }
42         else printf("%c",c[i]);
43     }
44 }
 

XJOI1652Matrix67的情书的更多相关文章

  1. 洛谷P2264 情书

    P2264 情书 88通过 971提交 题目提供者lin_toto 标签字符串 难度提高+/省选- 提交该题 讨论 题解 记录 最新讨论 yyy快把题目改回来 噫 这题的题目好逗啊... 情书std ...

  2. Contest 20140914 Mushroom写情书 字符串雙hash 後綴數組

    0111:Mushroom写情书 查看 提交 统计 提问 总时间限制:  10000ms 内存限制:  256000kB 描述 有一天,Mushroom准备向他的GF表白,为了增加表白成功率,Mush ...

  3. 大学生程序猿IT情书“2014爱的告白挑战赛”获奖名单及优秀情书展示系列之 - 【IT术语】情书+【搞笑另类】情书

    经过专家评委们的层层精心评选和认真讨论,恭喜下面同学终于入选CSDN高校俱乐部"大学生程序猿IT情书2014爱的告白挑战赛活动"优胜者名单.获奖者将在本周内收到邮件通知.请依照邮件 ...

  4. UESTC_韩爷的情书 2015 UESTC Training for Graph Theory<Problem H>

    H - 韩爷的情书 Time Limit: 6000/2000MS (Java/Others)     Memory Limit: 262144/262144KB (Java/Others) Subm ...

  5. Java程序员的情书

    java程序员的情书 我能抽象出整个世界但是我不能抽象出你因为你在我心中是那么的具体所以我的世界并不完整我可以重载甚至覆盖这个世界里的任何一种方法但是我却不能重载对你的思念也许命中注定了 你在我的世界 ...

  6. Trie树【p2264】情书

    Background 一封好的情书需要撰写人全身心的投入.CYY同学看上了可爱的c**想对她表白,但却不知道自己写的情书是否能感动她,现在他带着情书请你来帮助他. Description 为了帮助CY ...

  7. P2264 情书 Trie匹配

    \(\color{#0066ff}{题目描述}\) 为了帮助CYY,我们定义一个量化情书好坏的标准感动值.判断感动值的方法如下: 1.在情书的一句话中若含有给定词汇列表中的特定单词,则感动值加1,但每 ...

  8. 洛谷 P2264 情书

    题目背景 一封好的情书需要撰写人全身心的投入.lin_toto同学看上了可爱的卡速米想对她表白,但却不知道自己写的情书是否能感动她,现在他带着情书请你来帮助他. 题目描述 为了帮助lin_toto,我 ...

  9. P2264 情书(字符串hash90分)

    题目背景 一封好的情书需要撰写人全身心的投入.lin_toto同学看上了可爱的卡速米想对她表白,但却不知道自己写的情书是否能感动她,现在他带着情书请你来帮助他. 题目描述 为了帮助lin_toto,我 ...

随机推荐

  1. Android Asynctask的优缺点

    导语:之前做习惯了Framework层的开发,今天在武汉斗鱼公司面试APP客户端的开发,其中一道题是讲述Asynctask的优缺点,我靠,我只是知道有这么一个东西,会用而已,看来之前的生活太过于安逸, ...

  2. win8下 msvcr100d.dll文件缺失解决方法

    一.如果在运行某软件或编译程序时提示缺少.找不到msvcp100d.dll等类似提示,您可将从载来的msvcp100d.dll拷贝到指定目录即可(一般是system系统目录或放到软件同级目录里面),或 ...

  3. 基于nginx+lua+redis高性能api应用实践

    基于nginx+lua+redis高性能api应用实践 前言 比较传统的服务端程序(PHP.FAST CGI等),大多都是通过每产生一个请求,都会有一个进程与之相对应,请求处理完毕后相关进程自动释放. ...

  4. android学习7——canvas.concat(Matrix matrix)作用

    canvas.concat的作用可以理解成对matrix的变换应用到canvas上的所有对象. 看下面的代码. public class ConcatMatrixActivity extends Ac ...

  5. P176 test 6-1 UVa673

    //P176 test 6-1 #include<cstdio> #include<stack> #include<string> #include<iost ...

  6. 【前端】:jQuery上

    前言: 今天写一篇jQuery,发现内容太多了,那就分成两篇写吧--写完jQuery基础知识后会再写一些jQuery实例~~ jQuery下载.jQuery是一个兼容多浏览器的javascript库, ...

  7. WPF DataGrid Drag

    自己实现的功能.代码比较简单的DataGrid的Drag处理,着重处理DataGrid里的拖动排序. using System; using System.Collections.Generic; u ...

  8. 使用GDI绘制文本

    /// <summary>        /// 定义一个绘制文本        /// </summary>        public void Texts()       ...

  9. Visual Studio 2017 Bugs

    Crash report information: Problem signature: Problem Event Name: CLR20r3 Problem Signature 01: deven ...

  10. 一个小时学会MySQL数据库

    随着移动互联网的结束与人工智能的到来大数据变成越来越重要,下一个成功者应该是拥有海量数据的,数据与数据库你应该知道. 一.数据库概要 数据库(Database)是存储与管理数据的软件系统,就像一个存入 ...