斯诺登的密码
2024年12月25日小于 1 分钟
#include <bits/stdc++.h>
using namespace std;
string sStr[] = {
"one", "two", "three", "four", "five",
"six", "seven", "eight", "nine", "ten",
"eleven", "twelve", "thirteen", "fourteen", "fifteen",
"sixteen", "seventeen", "eighteen", "nineteen", "twenty",
"a", "both", "another", "first", "second",
"third"};
int sNum[] = {
1, 2, 3, 4, 5,
6, 7, 8, 9, 10,
11, 12, 13, 14, 15,
16, 17, 18, 19, 20,
1, 2, 1, 1, 2,
3};
int getNum(string s)
{
for (int i = 0; i < s.size(); i++)
if ('A' <= s[i] && s[i] <= 'Z')
s[i] = s[i] - 'A' + 'a';
for (int i = 0; i < 26; i++)
if (s == sStr[i])
return sNum[i];
return 0;
}
int a[10]; // a[1]~a[6] 六个数字
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
for (int i = 1; i <= 6; i++)
{
string s;
cin >> s;
a[i] = getNum(s);
a[i] = a[i] * a[i] % 100;
}
sort(a + 1, a + 6 + 1);
int pos = 6;
for (int i = 1; i <= 6; i++)
if (a[i] != 0)
{
pos = i;
break;
}
cout << a[pos];
for (int i = pos + 1; i <= 6; i++)
if (a[i] < 10)
cout << "0" << a[i];
else
cout << a[i];
return 0;
}