Cod sursa(job #508764)

Utilizator GheorgheMihaiMihai Gheorghe GheorgheMihai Data 9 decembrie 2010 17:32:00
Problema Oras Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <stdio.h>

int n;
char v[205][205];

void add (int i, char s[])
{
	int j;
	for (j = 0; s[j]; j ++)
		v[i][j] = s[j];
}

int main ()
{
	freopen ("oras.in", "r", stdin);
	freopen ("oras.out", "w", stdout);
	
	scanf ("%d", &n);
	
	if (n == 4)
	{
		printf ("-1");
		return 0;
	}
	
	int i, j, nr = 0;
	
	for (i = 1; i <= n; i ++)
		for (j = 1; j <= n; j ++)
			v[i][j] = '0';
	
	if (n % 2 == 0)
	{
		add (1, "0010001");
		add (2, "0001010");
		add (3, "0100101");
		add (4, "0110010");
		add (5, "0101001");
		add (6, "0010100");
		nr = 3;
	}
	else
		v[1][2] = v[2][3] = v[3][1] = '1';
	
	for (i = 4 + nr; i <= n; i += 2)
	{
		v[i][i + 1] = '1';
		for (j = 1; j < i; j ++)
			v[j][i] = v[i + 1][j] = '1';
	}
	
	for (i = 1; i <= n; i ++)
		puts (v[i] + 1);
	return 0;
}