Pagini recente » Cod sursa (job #936131) | Cod sursa (job #1256467) | Cod sursa (job #352108) | Cod sursa (job #772665) | Cod sursa (job #1247681)
#include <iostream>
#include <fstream>
int a[201][201];
void fill(int n) {
if (n == 3) {
// Simple cycle.
a[0][1] = 1;
a[1][2] = 1;
a[2][0] = 1;
} else if (n == 6) {
// Double cycle with collector.
a[0][1] = a[1][2] = a[2][0] = 1;
a[1][3] = a[3][4] = a[4][1] = 1;
a[0][3] = a[4][2] = 1;
a[5][3] = a[5][4] = 1;
a[3][2] = a[4][0] = 1;
a[5][1] = a[0][5] = a[2][5] = 1;
} else {
fill(n - 2);
// Add in a cycle.
a[n - 2][n - 1] = 1;
for (int i = 0; i < n - 2; ++i) {
a[i][n - 2] = a[n - 1][i] = 1;
}
}
}
int main()
{
std::ifstream in("oras.in");
std::ofstream out("oras.out");
int n;
in >> n;
if (n == 4) {
out << "-1\n";
} else {
fill(n);
for (int i = 0; i < n; ++i) {
for (int j = 0; j < n; ++j) {
out << a[i][j];
}
out << "\n";
}
}
in.close();
out.close();
return 0;
}