Cod sursa(job #507980)

Utilizator cosmin79Carabet Cosmin Andrei cosmin79 Data 7 decembrie 2010 10:54:21
Problema Oras Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <stdio.h>
#define NMAX 205
int n;
char A[NMAX][NMAX];
void afisare()
{
	int i,j;
	for (i=1; i<=n; i++)
	{
		for(j=1; j<=n; j++)
			printf("%d",A[i][j]);
		printf("\n");
	}
}
void calc(int x)
{
	int i,j;
	for (i=x+2; i<=n; i+=2)
	{
		for (j=1; j<=i-2; j++)
		{
			A[j][i-1]=1;
			A[i][j]=1;
		}
		A[i-1][i]=1;
	}
}
int main()
{
	freopen("oras.in","r",stdin);
	freopen("oras.out","w",stdout);
	scanf("%d",&n);
	if (n%2==1)
	{
		A[1][2]=1; A[2][3]=1; A[3][1]=1;
		calc(3);
		afisare();
		return 0;
	}
	if (n==4)
	{
		printf("-1\n");
		return 0;
	}
	if (n%2==0)
	{
		A[1][2] = 1;A[1][6] = 1;
		A[2][3] = 1;A[2][5] = 1;
		A[3][1] = 1;A[3][4] = 1;A[3][6] = 1;
		A[4][1] = 1;A[4][2] = 1;A[4][5] = 1;
		A[5][1] = 1;A[5][3] = 1;A[5][6] = 1;
		A[6][2] = 1;A[6][4] = 1;	
		calc(6);
		afisare();
	}
	return 0;
}