Cod sursa(job #1521660)

Utilizator robx12lnLinca Robert robx12ln Data 10 noiembrie 2015 19:06:21
Problema Oras Scor 65
Compilator cpp Status done
Runda Arhiva de probleme Marime 2.28 kb
#include<fstream>
#include<vector>
#include<cstring>
using namespace std;
ifstream fin("oras.in");
ofstream fout("oras.out");
vector<int> v[205];
int a[205][205],i,j,n,k;
int main(){
    fin>>n;
    if(n==4){
        fout<<"-1\n";
        return 0;
    }
    if(n%2==1){
        for(i=1;i<=n;i++){
            for(j=1;j<=n;j++){
                if(i!=j){
                    if(i%2==1){
                        if(j%2==0){
                            if(i<j){
                                v[i].push_back(j);
                            }else{
                                v[j].push_back(i);
                            }
                        }else{
                            if(i<j){
                                v[j].push_back(i);
                            }else{
                                v[i].push_back(j);
                            }
                        }
                    }else{
                        if(j%2==0){
                            if(i<j){
                                v[j].push_back(i);
                            }else{
                                v[i].push_back(j);
                            }
                        }else{
                            if(i<j){
                                v[i].push_back(j);
                            }else{
                                v[j].push_back(i);
                            }
                        }
                    }
                }
            }
        }
         //finalizare
        for(i=1;i<=n;i++){
            for(j=0;j<v[i].size();j++){
                a[i][v[i][j]]=1;
            }
        }
    }else{
        a[1][2] = a[1][4] = 1;
        a[2][5] = a[2][6] = 1;
        a[3][1] = a[3][2] = a[3][6] = 1;
        a[4][2] = a[4][3] = a[4][6] = 1;
        a[5][1] = a[5][3] = a[5][4] = 1;
        a[6][1] = a[6][5] = 1;
        int noduri = 6;
        while( noduri < n){
            a[noduri - 1][noduri] = 1;
            for( i = 1; i <= noduri; i++){
                a[i][noduri-1]=1;
                a[noduri][i]=1;
            }
            noduri += 2;
        }
    }
    //afisare
    for(i=1;i<=n;i++){
        for(j=1;j<=n;j++){
            fout<<a[i][j];
        }
        fout<<"\n";
    }
    return 0;
}