UVa-1339-古老的密码】的更多相关文章

UVa 1339 题目大意:给定两个长度相同且不超过100个字符的字符串,判断能否把其中一个字符串重排后,然后对26个字母一一做一个映射,使得两个字符串相同 解题思路:字母可以重排,那么次序便不重要,可以分别统计两个字符串中的各个字母出现的次数,得到两个cnt[26]数组, 又由于可以进行映射,则可以直接对两个数组进行排序后判断是否相等(相当于原来相等的值的两个地方做映射) /* UVa 1339 Ancient Cipher --- 水题 */ #include <cstdio> #incl…
题目链接:https://uva.onlinejudge.org/external/13/1339.pdf 紫书P73 解题报告: #include <stdio.h> #include <string.h> #include <stdlib.h> #include <algorithm> using namespace std; int main() { //freopen("input.txt","r",stdin…
古罗马帝国与各部门有一个强有力的政府系统,包括一个秘密服务部门.重要的文件以加密的形式发送防止窃听.在那个时代最流行的密码被称为替代密码和置换密码.例如,应用替代密码,改变所有字母“A”到“Y”字母表中的下一个字母(注:“Z”变成“A”),如:“VICTORIOUS”得到信息是“WJDUPSJPVT”.置换密码适用于一些置换到信息的信件.例如,应用置换密码(2,1,5,4,3,7,6,10,9,8),按这个顺序,重新对“VICTORIOUS”排列,就可以得到置换后的信息“IVOTCIRSUO”.…
题意:给两个6行5列的字母矩阵,找出满足如下条件的“密码”:密码中的每个字母在两个矩阵的对应列中均出现.给定k(1<=k<=7777),你的任务是找出字典序第k小的密码.如果不存在,输出NO. 分析:因为k<=7777,直接按字典序从小到大的顺序递归一个一个的枚举. 注意:定义在dfs里的vis不能放在全局,否则会导致值的混用. #pragma comment(linker, "/STACK:102400000, 102400000") #include<cst…
大意:读入两个字符串(都是大写字母),字符串中字母的顺序可以随便排列.现在希望有一种字母到字母的一一映射,从而使得一个字符串可以转换成另一个字符串(字母可以随便排列)有,输出YES:否,输出NO:exp: 输入HAHAHEHE 输出YES 可以将A→E,或E→A: 关键在于,问题简化:因为不用考虑字母位置,所以可以分别统计两个字符串中不同字母出现次数,计入数组counts1和counts2.那么,怎么知道谁和谁对应呢?这里面有个隐含条件:如果A→B,那么A在1数组出现的次数和B在2数组中出现的次…
Ancient Roman empire had a strong government system with various departments, including a secret service department. Important documents were sent between provinces and the capital in encrypted form to prevent eavesdropping. The most popular ciphers…
https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&category=15&page=show_problem&problem=1214 题意: 给定两个字符串,通过交换位置和一一映射判断能否使得两个字符串相同. 思路: 这题训练指南说得不准确,没有说到交换位置这一条件.既然可以交换位置,那我们只需要统计每个字符串中每个字母出现的次数,只要两个字符串中字母数相同并且出现次数…
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 位置其实都没关系了. 只要每个字母都有对应的字母,它们的数量相同就可以了. 求出每种字母的数量. 排序之后. 肯定是要一一对应的. [代码] #include <bits/stdc++.h> using namespace std; string s1,s2; map <int,int> mmap1,mmap2; vector <int> v1,v2; int main(){ #ifdef LOCAL_…
  Ancient Roman empire had a strong government system with various departments, including a secret service department. Important documents were sent between provinces and the capital in encrypted form to prevent eavesdropping. The most popular cipher…
古老的密码 题目描述:给定两个长度一样且不超过100的字符串,判断是否能把其中一个字符串的各个字母重排,之后对26个字母做一个一一映射,使得两个字符串相同例如,JWPUDJSTVP重排后可以得到WJDUPSJPVT,之后把每个字母映射到它的前面一个字母,得到VICTORIOUS,输入两个字符串,输出YES或者NO题目分析:因为字母可以重排映射(不一定往前映射),所以每个字母的位置并不重要,重要的是每个字母出现的次数①统计两个字符串每个字母出现的次数,得到两个数组cnt1[26],cnt2[26]…