Cod sursa(job #1830480)

Utilizator razvan99hHorhat Razvan razvan99h Data 16 decembrie 2016 19:33:35
Problema Oras Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.1 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("oras.in");
ofstream fout("oras.out");
bool g[205][205];
int n, i, j, st;

int main()
{
    fin>>n;
    if(n==4)
        fout<<"-1";
    else
    {
        
        if(n%2==1)
        {   
             //construim graful de baza 1->2 2->3 3->1
             g[1][2]=1; g[2][3]=1; g[3][1]=1;
             st=4;
        }
        else
        {
            //construim graful de baza pt n=6
            g[1][2]=g[1][3]=g[1][4]=g[2][3]=g[2][4]=g[2][5]=g[3][4]=g[3][6]=g[4][5]=g[4][6]=g[5][3]=g[5][1]=g[5][6]=g[6][1]=g[6][2]=1;
            st=7;
        }
        for(i=st;i<=n;i=i+2)
        {
                //facem drum de la i la i+1;
                g[i][i+1]=1;
                //acum facem drum de la toate nodurile la i si de la i+1 la toate nodurile
                for(j=1;j<=i-1;j++)
                {
                    g[j][i]=1;
                    g[i+1][j]=1;
                }
        }
        for(i=1;i<=n;i++)
        {
            for(j=1;j<=n;j++)
                fout<<g[i][j];
            fout<<'\n';
        }

    }

    return 0;
}