Cod sursa(job #1108295)

Utilizator gerd13David Gergely gerd13 Data 15 februarie 2014 15:54:45
Problema Patrate2 Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <fstream>
#define MOD 1000000

using namespace std;

const int NMAX = 10005 ;


ifstream cin("patrate2.in");
ofstream cout("patrate2.out") ;

int Sol[NMAX];
int N;
inline void multire(int A[], int B)
{
      int i, t = 0;
      for (i = 1; i <= A[0] || t; i++, t /= MOD)
              A[i] = (t += A[i] * B) % MOD;
      A[0] = i - 1;
}


int main()
{


    Sol[0] = Sol[1] = 1;

    cin >> N;
    for(int i = 1; i <= (N * N) / 4 ; ++ i)
    {
        multire(Sol, 16);
        for(int i = 1 ; i <= N ; ++ i)
        {
            multire(Sol, i);
        }
    }

if(N % 2 == 1)
{
    multire(Sol, 2) ;
}

for(int i = Sol[0] ; i > 0 ; -- i)
    cout << Sol[i] ;
cout << '\n' ;

    cin.close() ;
    cout.close() ;
}