题意:给出两个字符串,看是否是经过加密的,主要有两种加密方式,一种是替换加密,一种是排列加密(改变顺序)
思路:统计字符出现的次数,然后将次数排序,看是否相等
代码如下:

#include <iostream>
#include <fstream>
#include <string>
#include <cstring>
#include <algorithm>using namespace std;const int N = 26;int c1[N], c2[N];int main()
{string s1, s2;#ifndef ONLINE_JUDGEifstream fin("F:\\OJ\\uva_in.txt");streambuf *old = cin.rdbuf(fin.rdbuf());
#endifwhile (cin >> s1 >> s2){if (s1.length() != s2.length()){cout << "NO" << endl;continue;}memset(c1, 0, sizeof(c1));memset(c2, 0, sizeof(c2));for (string::size_type i = 0; i < s1.length(); i++){c1[s1[i] - 'A']++;c2[s2[i] - 'A']++;}sort(c1, c1 + N);sort(c2, c2 + N);if (memcmp(c1, c2, sizeof(c1)) != 0){cout << "NO" << endl;}else{cout << "YES" << endl;}}#ifndef ONLINE_JUDGEcin.rdbuf(old);
#endifreturn 0;
}

UVa1339 - Ancient Cipher相关推荐

  1. UVa1339 Ancient Cipher(贪心算法)

    问题:有一个混合加密算法,通过替换和排列将原字符串加密成另外一个字符串.给出两个字符串,问是否可以从原串转为另外一串 思路: 因为是通过文字替换后,替换前后的字符计数是不变的.而通过排列方式只是改变了 ...

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

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

  3. 《算法竞赛入门经典》 例题 4-1 古老的密码(Ancient Cipher) UVa 1339

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

  4. UVA - 1339 ​​​​​​​Ancient Cipher

    Ancient Cipher UVA - 1339 题目传送门 解决方法:模拟一下转换过程即可. AC代码: #include <cstdio> #include <iostream ...

  5. Ancient Cipher C++题解

    Ancient Cipher C++题解 题目 Ancient Roman empire had a strong government system with various departments ...

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

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

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

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

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

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

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

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

最新文章

  1. pandas使用shift函数对数数据进行向上偏移(-1)或者向下偏移(1)、索引不移动,移动之后无值的赋值为NaN、将原数据列与偏移后的数据列相加生成新的数据列
  2. Spring-Boot注入自定义properties文件配置
  3. 抽奖自定义中奖概率总结
  4. 需求工程-软件需求模式读书笔记3
  5. ext3分区修复linux,linux – 如何从损坏的ext3分区恢复数据?
  6. 限制网速 制造测试条件
  7. SAP Spartacus header区域布局设计
  8. 焦作一中高考成绩查询2021,2021年焦作高中学校排名及录取分数线排名
  9. eclipse android 分包,eclipse中multidex的使用
  10. Python filecmp库
  11. apache端口一直在增加_PHP环境全套针细教程:Windows安装Apache, PHP and MYSQL
  12. Qt网络编程之获取网络信息
  13. S3C2440开发板烧录笔记
  14. 安装配置fcitx输入法
  15. java fly bird小游戏_原生js写的flybird小游戏
  16. 循环结构中break、continue、return和exit的区别
  17. F(x) - NU ABO 韩中(繁)ass字幕
  18. 视频转mp4格式转换器如何把其他格式的视频转换成mp4格式
  19. 聊聊世界编程语言排行榜的事
  20. Liunx Mint下载方案Aria2、web面板AriaNG搭建

热门文章

  1. 内存管理(链表,指针操作,繁琐)
  2. python入门教程完整版(懂中文就能学会)-Python入门教程完整版400集(懂中文就能学会)快来带走...
  3. 编程软件python下载怎么读-使用最方便的计算机编程软件,Python下载使用完美教程...
  4. python语言入门m-Python学习基础篇 -1
  5. 在哪里学python比较好-学Python从哪里开始?
  6. python怎么安装requests库-Python爬虫入门requests库的安装与使用
  7. python第三方库numpy-Python第三方库之Numpy库
  8. python实现文件下载-python实现文件上传下载
  9. python手机版idle-Python入门 | IDLE的介绍和使用方法
  10. python 条形图-python使用Plotly绘图工具绘制水平条形图