Cod sursa(job #2252567)

Utilizator Raresr14Rosca Rares Raresr14 Data 2 octombrie 2018 20:17:32
Problema Oras Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.32 kb
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("oras.in");
ofstream fout("oras.out");
int n,a[210][210];
void orasi(int str){
    a[str-1][str]=1;
    for(int i=1;i<=str-2;i++){
        a[str][i]=1;
        a[i][str-1]=1;
    }
    if(str!=n)
        orasi(str+2);
}
int main(){
    fin>>n;
    switch(n){
        case(4):
            fout<<-1;
            return 0;
        case(3):
           fout<<"010\n001\n100";
           return 0;
    }
    if(n%2==1){
        a[1][2]=1;
        a[2][3]=1;
        a[3][1]=1;
        int l=5;
        orasi(l);
        for(int i=1;i<=n;i++){
            for(int j=1;j<=n;j++)
                fout<<a[i][j];
             fout<<"\n";
        }
        }else{
            a[1][2]=1;
            a[1][6]=1;
            a[2][4]=1;
            a[2][3]=1;
            a[3][1]=1;
            a[3][6]=1;
            a[4][1]=1;
            a[4][3]=1;
            a[4][5]=1;
            a[5][1]=1;
            a[5][2]=1;
            a[5][3]=1;
            a[6][2]=1;
            a[6][4]=1;
            a[6][5]=1;
           int l=8;
           orasi(l);
           for(int i=1;i<=n;i++){
                for(int j=1;j<=n;j++)
                    fout<<a[i][j];
                 fout<<"\n";
           }
        }
        return 0;
    }