Cod sursa(job #468131)

Utilizator darrenRares Buhai darren Data 2 iulie 2010 13:18:24
Problema Patrate2 Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 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;
		}
	}
}

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