Cod sursa(job #468125)

Utilizator darrenRares Buhai darren Data 2 iulie 2010 13:13:45
Problema Patrate2 Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include<fstream>
#include<algorithm>
using namespace std;

void inm(int* a, int b)
{
	int aux[5001];
	memcpy(aux, a, sizeof(aux));
	memset(a, 0, sizeof(aux));
	
	for (int i = 1; i <= aux[0]; ++i)
	{
		a[i] += b * aux[i];
		a[0] = i;
		if (a[i] >= 10)
		{
			a[i + 1] += a[i] / 10;
			a[i] %= 10;
			a[0] = i + 1;
		}
	}
}

int n, res[5001], p2[5001];
int main()
{
	ifstream fin("patrate2.in");
	ofstream fout("patrate2.out");
	fin >> n;
	
	res[0] = 1, res[1] = 1;
	for (int i = 2; i <= n; ++i)         inm(res, i);
	for (int i = 1; i <= n * n / 2; ++i) inm(res, 4);
	if (n % 2 == 1)                      inm(res, 2);
	
	for (int i = res[0]; i >= 1; --i)
		fout << res[i];
}