Cod sursa(job #1935346)

Utilizator mariusn01Marius Nicoli mariusn01 Data 22 martie 2017 11:28:02
Problema Oras Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.44 kb
#include <fstream>

using namespace std;

int par[205][205], imp[205][205];
int n, i, j, k, v;
int main () {
    ifstream fin ("oras.in");
    ofstream fout("oras.out");

    imp[1][2] = 1;
    imp[2][3] = 1;
    imp[3][1] = 1;
    par[1][2] = 1;par[1][6]= 1;
    par[2][3] = 1;par[2][4]= 1;
    par[3][1] = 1;par[3][6]= 1;
    par[4][1] = 1;par[4][3]= 1;par[4][5]= 1;
    par[5][1] = 1;par[5][2]= 1;par[5][3]= 1;
    par[6][2] = 1;par[6][4]= 1;par[6][5]= 1;

    fin>>n;

    if (n== 4) {
        fout<<-1;
        return 0;
    }
    if (n%2 == 0) {
        if (n != 6) {
            for (k=8; k<=n; k+=2) {
                // inseram nodurile k si k-1
                for (v = 1; v<=k-2; v++) {
                    par[v][k] = 1;
                    par[k-1][v] = 1;
                }
                par[k][k-1] = 1;

            }
        }
    } else {
        for (k=5; k<=n; k+=2) {
            // inseram nodurile k si k-1
            for (v = 1; v<=k-2; v++) {
                imp[v][k] = 1;
                imp[k-1][v] = 1;
            }
            imp[k][k-1] = 1;

        }
    }

    if (n%2 == 1) {
        for (i=1;i<=n;i++) {
            for (j=1;j<=n;j++)
                fout<<imp[i][j];
            fout<<"\n";
        }
    } else {
        for (i=1;i<=n;i++) {
            for (j=1;j<=n;j++)
                fout<<par[i][j];
            fout<<"\n";
        }
    }

    return 0;
}