Cod sursa(job #734483)
#include<fstream>
using namespace std;
ifstream f("patrate2.in");
ofstream g("patrate2.out");
int i,j,t,y,m,n,p,a[100000];
int main()
{
f>>n;
p=n*n+1;
a[1]=1;
m=1;
if(n==1)
g<<2<<'\n';
else
{
for(i=1;i<=p;++i)
{t=0;
for(j=1;j<=m;++j)
{y=(a[j]*2+t)%10;
t=(a[j]*2+t)/10;
a[j]=y;
}
if(t>0)
{m++;
a[m]=t;
t=0;
}
}
for(i=3;i<=n;++i)
{for(j=1;j<=m;++j)
{y=(a[j]*i+t)%10;
t=(a[j]*i+t)/10;
a[j]=y;
}
while(t>0)
{++m;
a[m]=t%10;
t=t/10;
}
t=0;
}
for(i=m;i>=1;--i)
g<<a[i];}
g<<'\n';
return 0;
}