Cod sursa(job #2632782)

Utilizator MihaelaCismaruMihaela Cismaru MihaelaCismaru Data 4 iulie 2020 21:09:29
Problema Oras Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.17 kb
#include<fstream>
using namespace std;
ifstream in ("oras.in");
ofstream out ("oras.out");
int mat[201][201],n,k;
void baga_noduri (int k, int n) {
    if (k == n) {
        return;
    }
    mat[k+1][k+2] = 1;
    for (int i = 1; i <= k; i ++) {
        mat[i][k+1] = 1;
        mat[k+1][i] = 0;
        mat[k+2][i] = 1;
        mat[i][k+2] = 0;
    }
    baga_noduri(k+2,n);
}
int main (void) {
    in >> n;
    if (n == 4) {
        out << "-1";
        return 0;
    }
    if (n % 2 == 1) {
        mat[1][2] = 1;
        mat[2][3] = 1;
        mat[3][1] = 1;
        baga_noduri (3,n);
    }
    else {
        mat[1][2] = 1;
        mat[1][3] = 1;
        mat[1][4] = 1;
        mat[2][3] = 1;
        mat[2][4] = 1;
        mat[2][5] = 1;
        mat[3][4] = 1;
        mat[3][6] = 1;
        mat[4][5] = 1;
        mat[4][6] = 1;
        mat[5][1] = 1;
        mat[5][3] = 1;
        mat[5][6] = 1;
        mat[6][1] = 1;
        mat[6][2] = 1;
        baga_noduri (6,n);
    }
    for (int i = 1; i <= n; i ++){
        for (int j = 1; j <= n; j ++) {
            out << mat[i][j] ;
        }
        out <<"\n";
    }
    return 0;
}