转载请注明出处,谢谢http://blog.csdn.net/ZEROcmm?viewmode=contents by---ZEROm
http://acm.hdu.edu.cn/showproblem.php?pid=4541
这题没什么好说的,纯粹就是百度0~99数字英文,然后再加上1,2,6,10的googol。
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
char ch[200][20]={
"zero","one","two","three","four","five",
"six","seven","eight","nine",
"ten","eleven","twelve","thirteen",
"fourteen","fifteen","sixteen","seventeen",
"eighteen","nineteen","twenty","twentyone",
"twentytwo","twentythree","twentyfour","twentyfive",
"twentysix","twentyseven","twentyeight","twentynine",
"thirty","thirtyone","thirtytwo","thirtythree",
"thirtyfour","thirtyfive","thirtysix","thirtyseven",
"thirtyeight","thirtynine","forty","fortyone",
"fortytwo","fortythree","fortyfour","fortyfive",
"fortysix","fortyseven","fortyeight","fortynine",
"fifty","fiftyone","fiftytwo","fiftythree",
"fiftyfour","fiftyfive","fiftysix","fiftyseven",
"fiftyeight","fiftynine","sixty","sixtyone",
"sixtytwo","sixtythree","sixtyfour","sixtyfive",
"sixtysix","sixtyseven","sixtyeight","sixtynine",
"seventy","seventyone","seventytwo","seventythree",
"seventyfour","seventyfive","seventysix","seventyseven",
"seventyeight","seventynine","eighty","eightyone",
"eightytwo","eightythree","eightyfour","eightyfive",
"eightysix","eightyseven","eightyeight","eightynine",
"ninety","ninetyone","ninetytwo","ninetythree",
"ninetyfour","ninetyfive","ninetysix","ninetyseven",
"ninetyeight","ninetynine","onegoogol","twogoogol","sixgoogol","tengoogol"
};
int main()
{
int t,Case=0;
scanf("%d",&t);
while(t--)
{
int n,m;
scanf("%d%d",&n,&m);
int ans=-1,k=0;
for(int i=0;i<=103;++i)
{
if(strlen(ch[i])==n)++k;
if(k==m){ans=i;break;}
}
printf("Case #%d: ",++Case);
if(ans<100)printf("%d\n",ans);
else
{
if(ans==100)printf("1");
if(ans==101)printf("2");
if(ans==102)printf("6");
if(ans==103)printf("10");
printf("0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n");
}
}
return 0;
}