Cod sursa(job #569722)

Utilizator radu_voroneanuVoroneanu Radu Stefan radu_voroneanu Data 2 aprilie 2011 10:43:44
Problema Oras Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <stdio.h>

#define MAXN 300

int a[MAXN][MAXN];
int i,N,poz,j;

int main()
{
	freopen("oras.in","r",stdin);
	freopen("oras.out","w",stdout);
	
	scanf("%d",&N);
	if (N==4) { printf("-1\n"); return 0;}
	if (N%2){
		poz = 3;
		a[1][2] = a[2][3] = a[3][1] = 1;
	}
	else {
		poz = 6;
		a[1][6] = a[1][2] = a[1][3] = 1;
		a[3][2] = a[3][4] = a[3][5] = 1;
		a[5][4] = a[5][6] = a[5][1] = 1;
		a[2][5] = a[2][6] = 1;
		a[4][1] = a[4][2] = 1;
		a[6][3] = a[6][4] = 1;
	}
	while (poz+2 <= N){
		a[poz+1][poz+2] = 1;
		for (i=1; i<=poz; ++i){
			a[i][poz+1] = 1;
			a[poz+2][i] = 1;
		}
		poz+=2;
	}
	
	for (i=1; i<=N; ++i){
		for (j=1; j<=N; ++j)
			printf("%d",a[i][j]);
		printf("\n");
	}
	
	return 0;
}