Pagini recente » Cod sursa (job #84933) | Cod sursa (job #282919) | Borderou de evaluare (job #367079) | Cod sursa (job #507589) | Cod sursa (job #457847)
Cod sursa(job #457847)
#include <iostream>
using namespace std;
#define nmax 210
int N, A[nmax][nmax], B[nmax][nmax];
int main() {
FILE *f1=fopen("oras.in", "r"), *f2=fopen("oras.out", "w");
int i, j, p;
fscanf(f1, "%d\n", &N);
if(N > 4) {
A[1][2] = A[1][4] = A[2][3] = A[2][5] = A[3][1] = A[3][4] = A[4][2] = A[4][5] = A[5][1] = A[5][3] = 1;
B[1][2] = B[1][4] = B[2][3] = B[2][5] = B[3][1] = B[3][4] = B[4][2] = B[4][5] = B[5][1] = B[5][3] = 1;
B[6][1] = B[2][6] = B[3][6] = B[6][4] = B[6][5] = 1;
}
p = 7;
while(p<=N) {
//A = imparele
//B = parele
if(p % 2 == 1) {
//adaug nodurile p-1, p
A[p-1][p] = 1;
for(i=1; i<=p-2; i++) {
A[i][p-1] = 1;
A[p][i] = 1;
}
}
else {
//adaug nodurile p-1, p
B[p-1][p] = 1;
for(i=1; i<=p-2; i++) {
B[i][p-1] = 1;
B[p][i] = 1;
}
}
p++;
}
if(N == 3) {
fprintf(f2, "010\n001\n100\n");
}
else if(N == 4) {
fprintf(f2, "-1\n");
}
else if(N % 2 == 1) {
for(i=1; i<=N; i++) {
for(j=1; j<=N; j++) {
fprintf(f2, "%d", A[i][j]);
}
fprintf(f2, "\n");
}
}
else {
for(i=1; i<=N; i++) {
for(j=1; j<=N; j++) {
fprintf(f2, "%d", B[i][j]);
}
fprintf(f2, "\n");
}
}
fclose(f1); fclose(f2);
return 0;
}