古罗马帝国与各部门有一个强有力的政府系统,包括一个秘密服务部门。重要的文件以加密的形式发送防止窃听。在那个时代最流行的密码被称为替代密码和置换密码。例如,应用替代密码,改变所有字母“A”到“Y”字母表中的下一个字母(注:“Z”变成“A”),如:“VICTORIOUS”得到信息是“WJDUPSJPVT”。置换密码适用于一些置换到信息的信件。例如,应用置换密码(2,1,5,4,3,7,6,10,9,8),按这个顺序,重新对“VICTORIOUS”排列,就可以得到置换后的信息“IVOTCIRSUO”。它很快就注意到,分别应用替代密码和置换密码很弱。但组合时,他们足够强大的时候。因此,最重要的消息首先被加密使用的替代密码,然后结果是利用置换密码加密。加密“VICTORIOUS”与上面描述的密码组合得到“JWPUDJSTVP”。考古学家最近发现的信息刻在石板材。乍一看似乎完全没有意义,因此认为信息是加密的一些替代和置换密码。他们推测的原始邮件加密的文本,现在他们要检查他们的猜想。他们需要一个电脑程序去做,所以你要写一个。

输入:

输入文件包含多个测试案例。它们包括两行。第一行包含刻在板的消息。在加密前,所有的空格和标点符号都拆了,所以
加密的信息只包含大写字母的英文字母。第二行包含原始消息推测被加密在第一行的消息。它也包含的英文字母只有大写字母。输入文件的每行的长度相等且长度不超过100。

输出:

对于每一个测试案例,打印输出一行。如果在输入文件的第一行的消息可以在第二行消息加密的结果输出“YES”,否则就输出“NO”。

样例输入:
JWPUDJSTVP
VICTORIOUS
MAMA
ROME
HAHA
HEHE
AAA
AAA
NEERCISTHEBEST
SECRETMESSAGES

样例输出:
YES
NO
YES
YES
NO

[分析与说明]:
因为字母可以重排,每个字母的位置并不重要,重要的是每个字母出现的次数
①统计两个字符串每个字母出现的次数,得到两个数组cnt1[26],cnt2[26]
②之后我们排序下,排序之后结果相同,说明我们输入的两个字符串就可以通过重排一一映射变得相同了所以本道题的核心在与【排序】

转载于:https://www.cnblogs.com/jjzzx/p/5339768.html

4_1 古老的密码(UVa1339)排序相关推荐

  1. 例题4-1 古老的密码 UVa1339

    算法竞赛入门经典(第2版)第4章 函数和递归 例题4-1 古老的密码 UVa1339 感悟. 1.阅读书中题目,对映射方式(B->A,C->B,...,Z->Y),印象深刻,马上编码 ...

  2. UVA1339 古老的密码 Ancient Cipher 排序

    UVA1339 古老的密码 Ancient Cipher 题目描述 古罗马帝国有一个拥有各种部门的强大政府组织.其中一个部门就是保密服务部门.为了保险起见,在省与省之间传递的重要文件中的大写字母是加密 ...

  3. UVa1339(古老的密码)

    UVa1339(古老的密码) 题目:古老的密码 题目描述: 给定两个长度一样且不超过100的字符串,判断是否能把其中一个字符串的各个字母重排,之后对26个字母做一个一一映射,使得两个字符串相同 例如, ...

  4. 例题 4-1 古老的密码(Ancient Cipher) UVa 1339

    题目:古老的密码 题目描述: 给定两个长度一样且不超过100的字符串,判断是否能把其中一个字符串的各个字母重排,之后对26个字母做一个一一映射,使得两个字符串相同 例如,JWPUDJSTVP重排后可以 ...

  5. XDOJ例题及答案第八更 密码编译 密码强度 排序2 排序3 排序算法比较器 判断奇偶性 平均数 气温波动 亲和数 求交错序列前N项和 求平均值求奇数的和

    目录 密码编译 密码强度 排序2 排序3 排序算法比较器 判断奇偶性 平均数 气温波动 亲和数 求交错序列前N项和 求平均值 求奇数的和 密码编译 #include<stdio.h> in ...

  6. UVA1339 古老的密码 Ancient Cipher 题解

    题意翻译 [题目描述] 古罗马帝国有一个拥有各种部门的强大政府组织.其中一个部门就是保密服务部门.为了保险起见,在省与省之间传递的重要文件中的大写字母是加密的.当时最流行的加密方法是替换和重新排列. ...

  7. 例题4-1 古老的密码(Ancient Cipher, NEERC 2004, UVa1339)

    题目:给定两个长度相同且不超过100的字符串,判断是否能把其中一个字符串的各个字母重排,然后对26个字母做一个一一映射,使得两个字符串相同.例如,JWPUDJSTVP重排后可以得到WJDUPSJPVT ...

  8. uva1339古老的密码

    此题比较简单,主要一点就是注意字符串的元素可以交换顺序然后才映射. 注意,在排序的地方可以直接调用c语言中的qsort函数或者c++语言中的sort函数. #include <stdio.h&g ...

  9. 古老的密码(Ancient Cipher,UVa1339)(算法竞赛入门经典 例题4-1)C++

    题目:给定两个不超过100的字符串,判断是否可以做到将其中一个字符串通过重排和映射的操作,使得两个字符串相同.例如,JWPUDJSTVP重排后可以得到WJDUPSJPVT,然后每个字母只要通过一次映射 ...

  10. 例题4-1 UVA1339 古老的密码 Ancient Cipher

    输入两个串,问能不能按照一定规则映射.但是怎么映射没说,其实就是统计两个字符串各个字母出现的次数,然后分别对这两个次数序列排序,看看排完之后的两个序列是不是相同,就可以判断了, #include &l ...

最新文章

  1. 房产企业数字化转型如何快速落地?
  2. win10 + mac双系统安装常用工具
  3. Visual Studio 2017 Android 调试无法连接到虚拟机
  4. Exception processing async thread queue
  5. 毕业设计上线啦!----跳蚤部落与基于Comet的WebIM系统开发
  6. 前端学习(1808):前端调试之微博头部开发
  7. java 水印乱码,linux java程序加水印及中文乱码方案
  8. OpenCV--模板匹配与滑动窗口(单匹配或多匹配)
  9. 在C++中调用PARI/GP库的方法
  10. 【ElasticSearch】大数据搜索选开源还是商业软件?ElasticSearch 对比 Splunk
  11. centos 7 vs centos6 的不同
  12. IEC104规约调试
  13. psd文件图层不多却很大很卡
  14. JavaScript 每日一题 #10
  15. 微信小程序全屏背景图
  16. DPDK — 安装部署
  17. 三相缺相、相序错误保护
  18. 24/09/2022 c语言细节
  19. 初始计算机安装安全系统标准化流程SOP文档
  20. 【AD】AD20生成PCB制板文件Gerber

热门文章

  1. 3第一周课后练习#183;阅读计划(3)-使用函数来访问私有数据成员
  2. WindowsServer2012史记2-从03域控升级至2012
  3. 23中设计模式之简单工厂模式
  4. linux下安装php扩展curl
  5. linux下NIS服务的配置
  6. 第二届蓝桥杯省赛---夺冠概率
  7. springboot——pom.xml 配置文件的设置
  8. NFinal 控制器—URL
  9. http1.0 与 http1.1
  10. 父子类之间,成员函数重写、重载以及重定义的区别