Cod sursa(job #2493844)

Utilizator tziplea_stefanTiplea Stefan tziplea_stefan Data 17 noiembrie 2019 00:24:46
Problema Oras Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <fstream>

using namespace std;

ifstream fin("oras.in");
ofstream fout("oras.out");

const int VAL=205;

int N, i, j;
int ANS[VAL][VAL];

void SOLVE(int N)
{
    if (N==3)
    {
        ANS[1][2]=ANS[2][3]=ANS[3][1]=1;
        return;
    }
    if (N==6)
    {
        ANS[1][2]=ANS[1][3]=ANS[1][5]=1;
        ANS[2][3]=ANS[2][4]=ANS[2][5]=1;
        ANS[3][4]=ANS[3][6]=1;
        ANS[4][1]=ANS[4][5]=ANS[4][6]=1;
        ANS[5][3]=ANS[5][6]=1;
        ANS[6][1]=ANS[6][2]=1;
        return;
    }
    SOLVE(N-2);
    ANS[N][N-1]=1;
    for (i=1; i<=N-2; i++)
    {
        ANS[N-1][i]=1;
        ANS[i][N]=1;
    }
}

int main()
{
    fin >> N;
    if (N==4)
    {
        fout << -1;
        return 0;
    }
    SOLVE(N);
    for (i=1; i<=N; i++)
    {
        for (j=1; j<=N; j++)
            fout << ANS[i][j];
        fout << '\n';
    }
    fin.close();
    fout.close();
    return 0;
}