『poj 2159』 ancient cipher

这题简直太水了吧。。
只要对每个字母出现的次数统计并排序
然后分别对应的字母个数相等
就表明一定有转换方式。。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36

#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <string>
#include <algorithm>
using namespace std;
string s1, s2;
int a[27], b[27];
int (int argc, char **argv)
{
ios::sync_with_stdio(false);
cin >> s1 >> s2;
memset(a, 0, sizeof a);
memset(b, 0, sizeof b);
for (register int i = 0; i < s1.size(); ++i)
{
a[s1[i] - 'A']++;
}
for (register int i = 0; i < s2.size(); ++i)
{
b[s2[i] - 'A']++;
}
sort(a, a + 26);
sort(b, b + 26);
for (register int i = 0; i < 26; ++i)
{
if (a[i] != b[i])
{
cout << "NO" << endl;
return 0;
}
}
cout << "YES" << endl;
return 0;
}