題目背景
根據斯諾登事件出的一道水題
題目描述
題目描述
2013年X月X日,俄羅斯辦理了斯諾登的護照,於是他混跡於一架開往委內瑞拉的飛機。但是,這件事情太不周密了,因爲FBI的間諜早已獲悉他的具體位置——但這不是最重要的——最重要的是如果要去委內瑞拉,那麼就要經過古巴,而經過古巴的路在美國的掌控之中。喪心病狂的奧巴馬迫降斯諾登的飛機,搜查時卻發現,斯諾登杳無蹤跡。但是,在據說是斯諾登的座位上,發現了一張紙條。紙條由純英文構成:Obama is a two five zero.(以"."結束輸出,只有6個單詞+一個句號,句子開頭如沒有大寫亦爲合法)這句話雖然有點無厘頭,但是警官陳珺騖發現這是一條極其重要的線索。他在斯諾登截獲的一臺筆記本中找到了一個C++程序,輸入這條句子後立馬給出了相對應的密碼。陳珺鶩高興得暈了過去,身爲警官的你把字條和程序帶上了飛機,準備飛往曼哈頓國際機場,但是在飛機上檢查的時候發現——程序被粉碎了!飛機抵達華盛頓只剩5分鐘,你必須在這5分鐘內編寫(杜撰)一個程序,免受上司的10000000000%10大板。破譯密碼的步驟如下:
(1)找出句子中所有用英文表示的數字(≤20),列舉在下:
正規: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
(2)將這些數字平方後%100,如00,05,11,19,86,99。
(3)把這些兩位數按數位排成一行,組成一個新數,如果開頭爲0,就去0。
(4)找出所有排列方法中最小的一個數,即爲密碼。
// 數據已經修正 By absi2011 如果還有問題請聯繫我
輸入輸出格式
輸入格式:
一個含有6個單詞的句子。
輸出格式:
一個整型變量(密碼)。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int a,b,c,d,e,f,g,cnt;
int z[104];
char x[7][15];
int main()
{
for(a=1;a<=6;a++)
{
cin>>x[a];
b=strlen(x[a]);
for(c=0;c<=b-1;c++)
{
if(x[a][c]>='A'&&x[a][c]<='Z')
{
x[a][c]=x[a][c]+32;
}
}
if(b==1)
{
if(x[a][0]=='a')
{
cnt++;
z[cnt]=1;
z[cnt]=z[cnt]*z[cnt];
z[cnt]=z[cnt]%100;
}
}
if(b==3)
{
if(x[a][0]=='o'&&x[a][1]=='n'&&x[a][2]=='e')
{
cnt++;
z[cnt]=1;
z[cnt]=z[cnt]*z[cnt];
z[cnt]=z[cnt]%100;
}
if(x[a][0]=='t'&&x[a][1]=='w'&&x[a][2]=='o')
{
cnt++;
z[cnt]=2;
z[cnt]=z[cnt]*z[cnt];
z[cnt]=z[cnt]%100;
}
if(x[a][0]=='s'&&x[a][1]=='i'&&x[a][2]=='x')
{
cnt++;
z[cnt]=6;
z[cnt]=z[cnt]*z[cnt];
z[cnt]=z[cnt]%100;
}
if(x[a][0]=='t'&&x[a][1]=='e'&&x[a][2]=='n')
{
cnt++;
z[cnt]=10;
z[cnt]=z[cnt]*z[cnt];
z[cnt]=z[cnt]%100;
}
}
if(b==4)
{
if(x[a][0]=='f'&&x[a][1]=='o'&&x[a][2]=='u'&&x[a][3]=='r')
{
cnt++;
z[cnt]=4;
z[cnt]=z[cnt]*z[cnt];
z[cnt]=z[cnt]%100;
}
if(x[a][0]=='b'&&x[a][1]=='o'&&x[a][2]=='t'&&x[a][3]=='h')
{
cnt++;
z[cnt]=2;
z[cnt]=z[cnt]*z[cnt];
z[cnt]=z[cnt]%100;
}
if(x[a][0]=='f'&&x[a][1]=='i'&&x[a][2]=='v'&&x[a][3]=='e')
{
cnt++;
z[cnt]=5;
z[cnt]=z[cnt]*z[cnt];
z[cnt]=z[cnt]%100;
}
if(x[a][0]=='n'&&x[a][1]=='i'&&x[a][2]=='n'&&x[a][3]=='e')
{
cnt++;
z[cnt]=9;
z[cnt]=z[cnt]*z[cnt];
z[cnt]=z[cnt]%100;
}
}
if(b==5)
{
if(x[a][0]=='t'&&x[a][1]=='h'&&x[a][2]=='r'&&x[a][3]=='e'&&x[a][4]=='e')
{
cnt++;
z[cnt]=3;
z[cnt]=z[cnt]*z[cnt];
z[cnt]=z[cnt]%100;
}
if(x[a][0]=='t'&&x[a][1]=='h'&&x[a][2]=='i'&&x[a][3]=='r'&&x[a][4]=='d')
{
cnt++;
z[cnt]=3;
z[cnt]=z[cnt]*z[cnt];
z[cnt]=z[cnt]%100;
}
if(x[a][0]=='f'&&x[a][1]=='i'&&x[a][2]=='r'&&x[a][3]=='s'&&x[a][4]=='t')
{
cnt++;
z[cnt]=1;
z[cnt]=z[cnt]*z[cnt];
z[cnt]=z[cnt]%100;
}
if(x[a][0]=='s'&&x[a][1]=='e'&&x[a][2]=='v'&&x[a][3]=='e'&&x[a][4]=='n')
{
cnt++;
z[cnt]=7;
z[cnt]=z[cnt]*z[cnt];
z[cnt]=z[cnt]%100;
}
if(x[a][0]=='e'&&x[a][1]=='i'&&x[a][2]=='g'&&x[a][3]=='h'&&x[a][4]=='t')
{
cnt++;
z[cnt]=8;
z[cnt]=z[cnt]*z[cnt];
z[cnt]=z[cnt]%100;
}
}
if(b==6)
{
if(x[a][0]=='e'&&x[a][1]=='l'&&x[a][2]=='e'&&x[a][3]=='v'&&x[a][4]=='e'&&x[a][5]=='n')
{
cnt++;
z[cnt]=11;
z[cnt]=z[cnt]*z[cnt];
z[cnt]=z[cnt]%100;
}
if(x[a][0]=='s'&&x[a][1]=='e'&&x[a][2]=='c'&&x[a][3]=='o'&&x[a][4]=='n'&&x[a][5]=='d')
{
cnt++;
z[cnt]=2;
z[cnt]=z[cnt]*z[cnt];
z[cnt]=z[cnt]%100;
}
if(x[a][0]=='t'&&x[a][1]=='w'&&x[a][2]=='e'&&x[a][3]=='l'&&x[a][4]=='v'&&x[a][5]=='e')
{
cnt++;
z[cnt]=12;
z[cnt]=z[cnt]*z[cnt];
z[cnt]=z[cnt]%100;
}
if(x[a][0]=='t'&&x[a][1]=='w'&&x[a][2]=='e'&&x[a][3]=='n'&&x[a][4]=='t'&&x[a][5]=='y')
{
cnt++;
z[cnt]=20;
z[cnt]=z[cnt]*z[cnt];
z[cnt]=z[cnt]%100;
}
}
if(b==7)
{
if(x[a][0]=='f'&&x[a][1]=='i'&&x[a][2]=='f'&&x[a][3]=='t'&&x[a][4]=='e'&&x[a][5]=='e'&&x[a][6]=='n')
{
cnt++;
z[cnt]=15;
z[cnt]=z[cnt]*z[cnt];
z[cnt]=z[cnt]%100;
}
if(x[a][0]=='a'&&x[a][1]=='n'&&x[a][2]=='o'&&x[a][3]=='t'&&x[a][4]=='h'&&x[a][5]=='e'&&x[a][6]=='r')
{
cnt++;
z[cnt]=2;
z[cnt]=z[cnt]*z[cnt];
z[cnt]=z[cnt]%100;
}
if(x[a][0]=='s'&&x[a][1]=='i'&&x[a][2]=='x'&&x[a][3]=='t'&&x[a][4]=='e'&&x[a][5]=='e'&&x[a][6]=='n')
{
cnt++;
z[cnt]=16;
z[cnt]=z[cnt]*z[cnt];
z[cnt]=z[cnt]%100;
}
}
if(b==8)
{
if(x[a][0]=='t'&&x[a][1]=='h'&&x[a][2]=='i'&&x[a][3]=='r'&&x[a][4]=='t'&&x[a][5]=='e'&&x[a][6]=='e'&&x[a][7]=='n')
{
cnt++;
z[cnt]=13;
z[cnt]=z[cnt]*z[cnt];
z[cnt]=z[cnt]%100;
}
if(x[a][0]=='f'&&x[a][1]=='o'&&x[a][2]=='u'&&x[a][3]=='r'&&x[a][4]=='t'&&x[a][5]=='e'&&x[a][6]=='e'&&x[a][7]=='n')
{
cnt++;
z[cnt]=14;
z[cnt]=z[cnt]*z[cnt];
z[cnt]=z[cnt]%100;
}
if(x[a][0]=='e'&&x[a][1]=='i'&&x[a][2]=='g'&&x[a][3]=='h'&&x[a][4]=='t'&&x[a][5]=='e'&&x[a][6]=='e'&&x[a][7]=='n')
{
cnt++;
z[cnt]=18;
z[cnt]=z[cnt]*z[cnt];
z[cnt]=z[cnt]%100;
}
if(x[a][0]=='n'&&x[a][1]=='i'&&x[a][2]=='n'&&x[a][3]=='e'&&x[a][4]=='t'&&x[a][5]=='e'&&x[a][6]=='e'&&x[a][7]=='n')
{
cnt++;
z[cnt]=19;
z[cnt]=z[cnt]*z[cnt];
z[cnt]=z[cnt]%100;
}
}
if(b==9)
{
if(x[a][0]=='s'&&x[a][1]=='e'&&x[a][2]=='v'&&x[a][3]=='e'&&x[a][4]=='n'&&x[a][5]=='t'&&x[a][6]=='e'&&x[a][7]=='e'&&x[a][8]=='n')
{
cnt++;
z[cnt]=19;
z[cnt]=z[cnt]*z[cnt];
z[cnt]=z[cnt]%100;
}
}
}
sort(z+1,z+cnt+1);
d=0;
int lnt;
for(c=1;c<=cnt;c++)
{
if(z[c]!=0)
{
if(z[c]<=9&&d==1)
{
cout<<"0"<<z[c];
lnt=1;
}
if(z[c]<=9&&d==0)
{
d=1;
cout<<z[c];
lnt=1;
}
if(z[c]>=10)
{
cout<<z[c];
lnt=1;
}
}
}
if(lnt==0)
{
cout<<"0";
}
// for(c=1;c<=cnt;c++)
// {
// cout<<z[c]<<endl;
// }
// cout<<z[1]<<z[2]<<z[3];
// y='A';
// z='a';
// a=y;
// b=z;
// cout<<a<<b;
}