LA 3213 Ancient Cipher

开始我理解错题意了,应该是这样理解的:

字符串1进行映射后可以做一个置换,若置换后与字符串2相同,也是输出YES的

比如ABCA 和 DDEF

因此我们需要做的就是统计有多少类字母,每一类有多少个,如果相同的话,两个字符串一定是对应的

 1 //#define LOCAL
 2 #include <algorithm>
 3 #include <cstdio>
 4 #include <cstring>
 5 using namespace std;
 6
 7 char s1[200], s2[200];
 8 int a[30], b[30];
 9
10 int main(void)
11 {
12     #ifdef LOCAL
13         freopen("3213in.txt", "r", stdin);
14     #endif
15
16     while(scanf("%s%s", s1, s2) == 2)
17     {
18         memset(a, 0, sizeof(a));
19         memset(b, 0, sizeof(b));
20         int i;
21         for(i = 0; s1[i] != ‘\0‘; ++i)
22         {
23             ++a[s1[i] - ‘A‘];
24             ++b[s2[i] - ‘A‘];
25         }
26         sort(a, a + 26);
27         sort(b, b + 26);
28         for(i = 0; i < 26; ++i)
29             if(a[i] != b[i])
30                 break;
31         if(i == 26)
32             printf("YES\n");
33         else
34             printf("NO\n");
35     }
36     return 0;
37 }

代码君

时间: 2024-11-06 09:29:39

LA 3213 Ancient Cipher的相关文章

poj 2159 D - Ancient Cipher 文件加密

Ancient Cipher Description 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

uva--1339 - Ancient Cipher(模拟水体系列)

1339 - Ancient Cipher 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

UVa 1339 Ancient Cipher --- 水题

UVa 1339 题目大意:给定两个长度相同且不超过100个字符的字符串,判断能否把其中一个字符串重排后,然后对26个字母一一做一个映射,使得两个字符串相同 解题思路:字母可以重排,那么次序便不重要,可以分别统计两个字符串中的各个字母出现的次数,得到两个cnt[26]数组, 又由于可以进行映射,则可以直接对两个数组进行排序后判断是否相等(相当于原来相等的值的两个地方做映射) /* UVa 1339 Ancient Cipher --- 水题 */ #include <cstdio> #incl

poj 2159 Ancient Cipher(水)

Ancient Cipher Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 30695   Accepted: 10023 Description Ancient Roman empire had a strong government system with various departments, including a secret service department. Important documents w

UVa 1339 Ancient Cipher【排序】

/* 中文题目      古老的密码 中文翻译-大意  给你两个字符串,看你能不能将第一个字符变化位置(重排),变成和第二个字符串的26个字母一一对应. 解题思路:将两个字符串的各个字符的数量统计出来,如果各个字符串的数量都是一样的,那么就输出yes,否则输出no 难点详解:在统计每个字符出现的次数有点小难度 关键点:排序 解题人:lingnichong 解题时间:2014/08/26    00:36 解题体会:很好的一题 */ 1339 - Ancient Cipher Time limit

UVa1399.Ancient Cipher

题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4085 13855995 1339 Ancient Cipher Accepted C++ 0.012 2014-07-09 12:35:33 Ancient Cipher Ancient Roman empire had a strong government system wit

UVA1339 UVALive3213 POJ2159 ZOJ2658 Ancient Cipher

Regionals 2004 >> Europe - Northeastern 问题链接:UVA1339 UVALive3213 POJ2159 ZOJ2658 Ancient Cipher.基础训练题,用C语言编写程序. 对两组字符串分别进行字母统计,接着对统计结果进行排序,然后对排序后的结果进行比较.如果相同,说明可以找到一种一一映射,使得两个字符串相同. AC的C语言程序如下: /* UVA1339 UVALive3213 POJ2159 ZOJ2658 Ancient Cipher *

poj2159 Ancient Cipher

Ancient Cipher Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 29154   Accepted: 9547 Description Ancient Roman empire had a strong government system with various departments, including a secret service department. Important documents we

Poj 2159 / OpenJudge 2159 Ancient Cipher

1.链接地址: http://poj.org/problem?id=2159 http://bailian.openjudge.cn/practice/2159 2.题目: Ancient Cipher Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 28064   Accepted: 9195 Description Ancient Roman empire had a strong government system