Pagini recente » Cod sursa (job #598072) | Cod sursa (job #845137) | Cod sursa (job #819252) | Cod sursa (job #3147906) | Cod sursa (job #1211974)
#include <cstdio>
#define NMAX 207
using namespace std;
char Ans[NMAX][NMAX];
int n;
void Back(int k){
if(k == 3){
Ans[1][2] = Ans[2][3] = Ans[3][1] = '1';
return;
}
if(k == 6){
Ans[1][2] = Ans[1][4] = Ans[1][6] = '1';
Ans[2][3] = Ans[2][5] = Ans[2][6] = '1';
Ans[3][1] = Ans[3][5] = Ans[4][2] = '1';
Ans[4][3] = Ans[4][5] = Ans[5][1] = '1';
Ans[5][6] = Ans[6][3] = Ans[6][4] = '1';
return;
}
Ans[k - 1][k] = '1';
for(int i = 1; i <= k - 2; ++i)
Ans[i][k - 1] = Ans[k][i] = '1';
Back(k - 2);
}
int main(){
freopen("oras.in", "r", stdin);
freopen("oras.out", "w", stdout);
scanf("%d", &n);
if(n == 4){
printf("-1\n");
return 0;
}
for(int i = 1; i <= n; ++i)
for(int j = 1; j <= n; ++j)
Ans[i][j] = '0';
Back(n);
for(int i = 1; i <= n; ++i, printf("\n"))
for(int j = 1; j <= n; ++j)
printf("%c", Ans[i][j]);
return 0;
}