Pagini recente » Cod sursa (job #2413387) | Cod sursa (job #1931367) | Cod sursa (job #490242) | Cod sursa (job #2012705) | Cod sursa (job #1265610)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f ("oras.in");
ofstream g ("oras.out");
const int NMAX = 200 + 1;
int n;
int A[NMAX][NMAX];
void initializeaza(int x) {
if (x == 3) {
A[1][2] = 1;
A[2][3] = 1;
A[3][1] = 1;
return;
}
A[1][5] = A[1][6] = 1;
A[2][1] = A[2][4] = 1;
A[3][1] = A[3][2] = A[3][6] = 1;
A[4][1] = A[4][3] = 1;
A[5][2] = A[5][3] = A[5][4] = 1;
A[6][2] = A[6][4] = A[6][5] = 1;
}
void scrie(int x) {
if (!x) {
g << "-1\n";
return;
}
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) g << A[i][j];
g << '\n';
}
}
void rezolva() {
int i;
if (n == 4) {
scrie(0);
return;
}
if (n % 2 == 1) i = 3;
else i = 6;
initializeaza(i);
for (; i + 2 <= n; i += 2) {
A[i + 1][i + 2] = 1;
for (int j = 1; j <= i; j++)
A[j][i + 1] = A[i + 2][j] = 1;
}
scrie(1);
}
int main() {
f >> n;
rezolva();
return 0;
}