例题4-1 古老的密码(Ancient Cipher, NEERC 2004, UVa1339)
#include <stdio.h>
#include <string.h>
// 对字符串进行排序
void sortStr(char str[])
{int i, j;char ch; for (i=0; i<strlen(str)-1; i++) {for (j=0; j<strlen(str)-i-1; j++) {if (str[j]>str[j+1]) {ch = str[j];str[j] = str[j+1];str[j+1] = ch;}}}
}
// 计算字母出现的次数
void calculate(int cnt[], char str[])
{int i;for (i=0; i<strlen(str); i++)cnt[str[i]-65]++;
}
// 判断是否可以转换
int judge(int cnt1[], int cnt2[])
{int i, j, flag = 0;// cnt1[1]与cnt2[0]比较,后面依次比较 for (i=0, j=1; i<26; i++, j++) {if (j == 26) j = 0;if (cnt1[j] == cnt2[i]) flag++;}if (flag == 26) return 1; // 当flag=26,代表可以转换 return 0;
}int main()
{char str1[100], str2[100];int cnt1[26] = {0}, cnt2[26] = {0};gets(str1);gets(str2);sortStr(str1);sortStr(str2);calculate(cnt1, str1);calculate(cnt2, str2);if (judge(cnt1, cnt2)) printf("Yes\n");else printf("No\n");return 0;}
例题4-1 古老的密码(Ancient Cipher, NEERC 2004, UVa1339)相关推荐
- UVA1339 古老的密码 Ancient Cipher 排序
UVA1339 古老的密码 Ancient Cipher 题目描述 古罗马帝国有一个拥有各种部门的强大政府组织.其中一个部门就是保密服务部门.为了保险起见,在省与省之间传递的重要文件中的大写字母是加密 ...
- 《算法竞赛入门经典》 例题 4-1 古老的密码(Ancient Cipher) UVa 1339
题目描述 给定两个长度相同且不超过100的字符串,判断是否能把其中一个字符串的各个字母重排,然后对26个字母做一个一一映射,使得两个字符串相同. 例如,JWPUDJSTVP重排后可以得到WJDUPSJ ...
- 例题 4-1 古老的密码(Ancient Cipher) UVa 1339
题目:古老的密码 题目描述: 给定两个长度一样且不超过100的字符串,判断是否能把其中一个字符串的各个字母重排,之后对26个字母做一个一一映射,使得两个字符串相同 例如,JWPUDJSTVP重排后可以 ...
- 例题4-1 UVA1339 古老的密码 Ancient Cipher
输入两个串,问能不能按照一定规则映射.但是怎么映射没说,其实就是统计两个字符串各个字母出现的次数,然后分别对这两个次数序列排序,看看排完之后的两个序列是不是相同,就可以判断了, #include &l ...
- UVA1339 古老的密码 Ancient Cipher 题解
题意翻译 [题目描述] 古罗马帝国有一个拥有各种部门的强大政府组织.其中一个部门就是保密服务部门.为了保险起见,在省与省之间传递的重要文件中的大写字母是加密的.当时最流行的加密方法是替换和重新排列. ...
- 例题4-1 古老的密码 UVa1339
算法竞赛入门经典(第2版)第4章 函数和递归 例题4-1 古老的密码 UVa1339 感悟. 1.阅读书中题目,对映射方式(B->A,C->B,...,Z->Y),印象深刻,马上编码 ...
- 现代密码学1.3--古典密码/historical cipher
现代密码学1.3--古典密码/historical cipher Caesar's cipher/凯撒密码 The shift cipher/移动密码 The mono-alphabetic subs ...
- C++希尔密码Hill Cipher算法(附完整源码)
希尔密码Hill Cipher的算法 希尔密码(Hill Cipher) 的算法的完整源码(定义,实现,main函数测试) 希尔密码(Hill Cipher) 的算法的完整源码(定义,实现,main函 ...
- UVA - 1339 Ancient Cipher
Ancient Cipher UVA - 1339 题目传送门 解决方法:模拟一下转换过程即可. AC代码: #include <cstdio> #include <iostream ...
最新文章
- 【windows】cmd中的help无法使用的解决方法
- (六)java多线程之ReadWriteLock
- 【Mysql】纯sql报表
- 磁金融宣布完成1.2亿元B轮融资,宽带资本领投
- Debug system:无法显示数据
- 【STM32】 Keil介绍、下载、安装与注册
- 微博客之后有可能是“切客”
- Golang list双向链表源码走读
- PythonBasics 中文系列教程 · 翻译完成
- jsp九大内置对象和四种属性范围介绍
- 计算机网络自上而下影印版_《计算机网络(影印版)》 影印 【正版电子纸书阅读_PDF下载】- 书问...
- 宝马与intel合作 2021年推全自动无人驾驶车
- 昨天面试了两个小姑娘,都是项目助理职位
- 大数据与Hadoop的区别
- 【Linux】15 张 Vim 速查表奉上,帮你提高 N 倍效率!
- 怎么得到期刊论文的源代码_帮助这份开放获取期刊计划即将出版的《开放源代码策略》
- 哈密顿正则方程和哈密顿-雅克比方程
- 动易CMS如何能实现直接粘贴把图片上传到服务器中
- 实时填报推送微信消息及审核(帆软报表)
- mybatis 实现动态数据源连接