#include <iostream>
#include <algorithm>
#include <cstdio>
#include <string>
using namespace std;
int a[10000000];
int main()
{
int t;
cin>>t;
int flag=0;
while(t--)
{
int n;
flag++;
cin>>n;
a[1]=1;
int c=0; int len=1;
for(int j=1;j<=n;j++)
{
for(int i=1;i<=len;i++)
{
a[i]=a[i]*32;
a[i]=a[i]+c;
c=a[i]/100;
a[i]%=100;
}
while(c)
{
a[++len]=c%100;
c/=100;
}
}
cout<<"Case #"<<flag<<": ";
for(int i=len;i>=1;i--)
{
if(i!=len) printf("%02d",a[i]);
else printf("%d",a[i]);
}
printf("\n");
}
return 0;
}
这道题初读起来不是很明确,但是经过给的样例寻找规律可以得出,输出的结果应该为32的n次方,那么问题来了,因为n<=3000,32的3000次方显然无法用一个数据类型存储下来,可以使用java的大整数类进行运算,或者进行一些小的改变。
我们可以把结果的每两位保存起来进行运算,参悟了大佬的代码好久才看懂并打出来代码
Mike has many friends. Here are nine of them: Alice, Bob, Carol, Dave, Eve, Frank, Gloria, Henry and Irene.
Mike is so skillful that he can master n n languages (aka. programming languages).
His nine friends are all weaker than he. The sets they can master are all subsets of Mike's languages.
But the relations between the nine friends is very complex. Here are some clues.
1. Alice is a nice girl, so her subset is a superset of Bob's.
2. Bob is a naughty boy, so his subset is a superset of Carol's.
3. Dave is a handsome boy, so his subset is a superset of Eve's.
4. Eve is an evil girl, so her subset is a superset of Frank's.
5. Gloria is a cute girl, so her subset is a superset of Henry's.
6. Henry is a tall boy, so his subset is a superset of Irene's.
7. Alice is a nice girl, so her subset is a superset of Eve's.
8. Eve is an evil girl, so her subset is a superset of Carol's.
9. Dave is a handsome boy, so his subset is a superset of Gloria's.
10. Gloria is a cute girl, so her subset is a superset of Frank's.
11. Gloria is a cute girl, so her subset is a superset of Bob's.
Now Mike wants to know, how many situations there might be.
Mike is so skillful that he can master n n languages (aka. programming languages).
His nine friends are all weaker than he. The sets they can master are all subsets of Mike's languages.
But the relations between the nine friends is very complex. Here are some clues.
1. Alice is a nice girl, so her subset is a superset of Bob's.
2. Bob is a naughty boy, so his subset is a superset of Carol's.
3. Dave is a handsome boy, so his subset is a superset of Eve's.
4. Eve is an evil girl, so her subset is a superset of Frank's.
5. Gloria is a cute girl, so her subset is a superset of Henry's.
6. Henry is a tall boy, so his subset is a superset of Irene's.
7. Alice is a nice girl, so her subset is a superset of Eve's.
8. Eve is an evil girl, so her subset is a superset of Carol's.
9. Dave is a handsome boy, so his subset is a superset of Gloria's.
10. Gloria is a cute girl, so her subset is a superset of Frank's.
11. Gloria is a cute girl, so her subset is a superset of Bob's.
Now Mike wants to know, how many situations there might be.
For each test case, the first line contains an integer n n( 0≤n≤3000 0≤n≤3000), denoting the number of languages.
2 0 2
Case #1: 1 Case #2: 1024