Cod sursa(job #468134)

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

void inm(int* a, int b)
{
	int aux[10001];
	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;
		}
	}
	while (a[a[0]] >= 10)
	{
		a[++a[0]] += a[a[0] - 1] / 10;
		a[a[0] - 1] %= 10;
	}
}

int n, res[10001], p2[10001];
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 / 6; ++i) inm(res, 64);
	int j = (n * n / 6) * 6;
	while (j < n * n) inm(res, 2), ++j;
	
	for (int i = res[0]; i >= 1; --i)
		fout << res[i];
}