Cod sursa(job #2304998)

Utilizator _Victor_Victor Ciobanu _Victor_ Data 18 decembrie 2018 22:30:27
Problema Oras Scor 65
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1 kb
#include <bits/stdc++.h>
 
using namespace std;
 
ifstream fin("oras.in");
ofstream fout("oras.out");
 
int n;
 
void clear(int n){
	for(int i=0;i<=n;i++){
		for(int j=0;j<=n;j++){
			//A[i][j]=0;
		}
	}
}
 
int main(){
	fin>>n;
	if(n%2){
		for(int i=1;i<=n;i++){
			for(int j=1;j<=n;j++){
				if(j<i){
					if(i%2)fout<<(j%2);
					else fout<<!(j%2);
				}else if(j>i){
					if(i%2)fout<<!(j%2);
					else fout<<(j%2);
				}else fout<<0;
			}
		fout<<'\n';
		}
	}else if(n==4) fout<<-1;
	else{
		for(int i=1;i<=n;i++){
			for(int j=1;j<=n;j++){
				if(j==i+1){
					if(i==1){
						fout<<0;
					}else{
						fout<<1;
					}
				}else if(i==2 && j==1 || i==n && j==1) fout<<1;
				else{
					if(i<=n/2 && i+n/2==j){
						fout<<1;
					}else if(i%2 && j%2 && (i>j && i-2==j || (i==1 && j==n-1))){
						fout<<1;
					}else if((i+1)%2 && (j+1)%2 && (i>j && i-2==j || (i==n && j==2))){
						fout<<1;
					}else fout<<0;
				}
			}
		fout<<'\n';
		}
	}
	return 0;
}