好玩的五次方
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
输出结果
示例输入
3
1 7 2
示例输出
243
提示
来源
zp
这个题目其实还是很有意思的,比如它说这个题目最大是1*10^9,但是只有
100000个数,所以最大的数其实也在100000以内的,唉,已经沦落到做水题的
程度了,我很伤心,以后决心上午晚上学习算法,下午做题,这样比较有效率吧
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#define M 100100
using namespace std;
int a[M];
int f[3000];
int main()
{
int n;
int i,j;
scanf("%d",&n);
int m;
memset(a,0,sizeof(a));
// scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%d",&j);
a[j]=1;
}
for(int i=1;i<=n+1;i++)
if(!a[i])
{
m=i;
break;
}
f[0]=1;
//printf("\n%dmm \n",m);
for(i=1;i<=5;i++)
{
int c=0;
for(j=0;j<3000;j++)
{
int s=f[j]*m+c;
f[j]=s%10;
c=s/10;
}
}
for(j=3000-1;j>=0;j--)
if(f[j])
break;
for(i=j;i>=0;i--)
printf("%d",f[i]);
printf("\n");
return 0;
}