Cod sursa(job #675704)

Utilizator informatician28Andrei Dinu informatician28 Data 7 februarie 2012 23:22:19
Problema Oras Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include<fstream> 
#define DIM 201

using namespace std; 
ifstream in("oras.in");
ofstream out("oras.out"); 

int A[DIM][DIM], N; 

void solve(int nod)
{
	int i, j;
	
	for(i = nod+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()
{
	int i, j;
	
	in >> N;
	
	if( N==4 )
		out << "-1"; 
	
	else if( N & 1 )
		{
			A[1][2] = A[2][3] = A[3][1] = 1;
			solve(3);
		}
	
	else if( N%2 == 0 )
		{
			A[1][2] = 1; 
			A[2][3] = 1;
			A[3][1] = 1;
			
			A[4][5] = 1;
			A[5][6] = 1;
			A[3][6] = 1; A[3][4] = 1;
			A[4][1] = 1;
			A[5][1] = 1;

			A[1][6] = 1;
			A[6][4] = 1;
			A[6][2] = 1;
			A[4][2] = 1;
			A[2][5] = 1;
			A[5][3] = 1;
			solve(6);
		}
		
		for(i = 1; i <= N; i++)
			{
				for(j = 1; j <= N; j++)
				out << A[i][j];
			   out << '\n';
		}
}