Cod sursa(job #1557043)

Utilizator narcios_neculaNarcis Necula narcios_necula Data 26 decembrie 2015 17:13:12
Problema Patrate2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.4 kb
#include <cstdio>
using namespace std;
int nr[465],n,i,j,b,l;
int main()
{
        freopen("patrate2.in","r",stdin);
        freopen("patrate2.out","w",stdout);
        scanf("%d",&n);
        b = 10000000;
        l = 455;
        nr[l] = 1;
        for (i =1 ; i <= n*n; ++i)
        {
                for (j=l; j>=1; --j)
                        nr[j]*=2;
                for (j=l; j>=1; --j)
                    while (nr[j]-b>0)
                    {
                        nr[j-1]++;
                        nr[j]-=b;

                    }
        }
        for (i=1; i<=n; ++i)
        {
                for (j=l; j>=1; --j)
                        nr[j]*=i;
                for (j=l; j>=1; --j)
                {
                        nr[j-1]+=nr[j]/b;
                        nr[j]%=b;
                }
        }
        for (i=1; i<=l; ++i)
                if (nr[i]!=0)
                {
                        j=i;
                        break;
                }
        printf("%d",nr[j]);
        for (i=j+1; i<=l; ++i)
        {
                long cop=nr[i];
                if (cop!=0)
                while (cop<b/10)
                {
                        printf("0");
                        cop*=10;
                }
                else printf("000000");
                printf("%d",nr[i]);
        }
        printf("\n");

        return 0;
}