Pagini recente » Cod sursa (job #3224195) | Cod sursa (job #2176359) | Cod sursa (job #3285475) | Cod sursa (job #2546616) | Cod sursa (job #2926150)
#include <bits/stdc++.h>
using namespace std;
ifstream fin( "oras.in" );
ofstream fout( "oras.out" );
const int DIM = 205;
int T[DIM][DIM];
void gen3() {
T[1][2] = T[2][3] = T[3][1] = 1;
}
void gen6() {
// 0 1 1 1 0 0
// 0 0 1 0 1 0
// 0 0 0 1 1 1
// 0 1 0 0 1 1
// 1 0 0 0 0 1
// 1 1 0 0 0 0
T[1][2] = T[1][3] = T[1][4] = 1;
T[2][3] = T[2][5] = 1;
T[3][4] = T[3][5] = T[3][6] = 1;
T[4][2] = T[4][5] = T[4][6] = 1;
T[5][1] = T[5][6] = 1;
T[6][1] = T[6][2] = 1;
/*
for ( int m = 0; m < (1 << 15); ++m ) {
int k = 0;
for ( int i = 1; i <= 6; ++i ) {
for ( int j = 1; j < i; ++j ) {
T[i][j] = (m >> k) & 1;
++k;
T[j][i] = T[i][j] ^ 1;
}
}
bool ok = true;
for ( int i = 1; i <= 6; ++i ) {
for ( int j = 1; j <= 6; ++j ) {
if ( i == j ) continue;
if ( !T[i][j] ) {
bool q = false;
for ( int k = 1; k <= 6; ++k ) {
if ( T[i][k] && T[k][j] ) {
q = true;
break;
}
}
ok &= q;
}
}
}
if ( ok ) {
break;
}
}
for ( int i = 1; i <= 6; ++i ) {
for ( int j = 1; j <= 6; ++j ) {
cout << T[i][j] << " ";
}
cout << "\n";
}*/
}
int main() {
int n;
fin >> n;
if ( n == 4 ) {
fout << "-1";
return 0;
}
if ( n & 1 ) {
gen3();
for ( int q = 4; q < n; q += 2 ) {
T[q][q + 1] = 1;
for ( int i = 1; i < q; ++i ) {
T[i][q] = T[q + 1][i] = 1;
}
}
} else {
gen6();
for ( int q = 7; q < n; q += 2 ) {
T[q][q + 1] = 1;
for ( int i = 1; i < q; ++i ) {
T[i][q] = T[q + 1][i] = 1;
}
}
}
for ( int i = 1; i <= n; ++i ) {
for ( int j = 1; j <= n; ++j ) {
fout << T[i][j];
}
fout << "\n";
}
fin.close();
fout.close();
return 0;
}