Cod sursa(job #781920)

Utilizator alex_unixPetenchea Alexandru alex_unix Data 25 august 2012 13:51:36
Problema Lacate Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb

#include <cstdio>

const unsigned int MAX_SIZE(257);

unsigned short matrix [MAX_SIZE] [MAX_SIZE];

int main (void)
{
	std::freopen("lacate.in","r",stdin);
	std::freopen("lacate.out","w",stdout);
	unsigned int guards;
	std::scanf("%u",&guards);
	std::fclose(stdin);
	unsigned int keys(guards - 1);
	unsigned int locks(guards * keys >> 1);
	std::printf("%u %u\n",locks,keys);
	unsigned int i(1), j, k1(1), k2(1);
	while (i <= keys)
	{
		for (j = i ; j <= keys ; ++k1, ++j)
			matrix[i][j] = k1;
		for (j = i + 1 ; j <= guards ; ++k2, ++j)
			matrix[j][i] = k2;
		++i;
	}
	for (i = 1 ; i <= guards ; ++i)
	{
		for (j = 1 ; j <= keys ; ++j)
			std::printf("%hu ",matrix[i][j]);
		std::putchar('\n');
	}
	std::fclose(stdout);
	return 0;
}