Cod sursa(job #1047760)

Utilizator chiriacandrei25Chiriac Andrei chiriacandrei25 Data 4 decembrie 2013 21:01:11
Problema Patrate2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <cstdio>
#define Base 1000000

using namespace std;

int N,n,v[1000005],len;

inline void Read()
{
    scanf("%d", &n); N=n*n;
    v[++len]=1;
}

inline void Inmultire(int a[], int &n, int p)
{
    int x,rest=0,i;
    for(i=1;i<=n;++i)
    {
        x=rest+a[i]*p;
        a[i]=x%Base;
        rest=x/Base;
    }
    while(rest)
    {
        a[++n]=rest%Base;
        rest/=Base;
    }
}

int main()
{
    int i;
    freopen ("patrate2.in","r",stdin);
    freopen ("patrate2.out","w",stdout);
    Read();
    for(i=1;i<=N;++i)
        Inmultire(v,len,2);
    for(i=2;i<=n;++i)
        Inmultire(v,len,i);

    printf("%d", v[len]);
    for(i=len-1;i>0;--i)
        printf("%06d", v[i]);
    printf("\n");
    return 0;
}