Cod sursa(job #1716686)

Utilizator RaduMirceaAndreiRadu Mircea Andrei RaduMirceaAndrei Data 13 iunie 2016 14:26:32
Problema Oras Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.99 kb
# include <fstream>
# define DIM 202
using namespace std;
ifstream fin("oras.in");
ofstream fout("oras.out");
int v[DIM][DIM],n,i,j;
void tri(int x,int y,int z){
    v[x][y]=v[y][z]=v[z][x]=1;
}
void add2(int a,int b,int c,int x,int y){
    v[a][x]=v[b][x]=v[c][x]=1;
    v[y][a]=v[y][b]=v[y][c]=1;
}
void add3(int a,int b,int c,int x,int y,int z){
    v[a][x]=v[c][y]=v[b][z]=1;
    v[x][b]=v[y][a]=v[z][c]=1;
    v[x][c]=v[y][b]=v[z][a]=1;
}
int main () {
    fin>>n;
    if(n%3==1)
        fout<<"-1\n";
    else{
        for(i=0;i<n/3;i++)
            tri(3*i,3*i+1,3*i+2);
        for(i=0;i<n/3;i++)
            for(j=i+1;j<n/3;j++)
                add3(3*i,3*i+1,3*i+2,3*j,3*j+1,3*j+2);
        if(n%3==2){
            v[n-2][n-1]=0;
            for(i=0;i<n/3;i++)
                add2(3*i,3*i+1,3*i+2,n-2,n-1);
        }
        for(i=0;i<n;i++){
            for(j=0;j<n;j++)
                fout<<v[i][j]<<" ";
            fout<<"\n";
        }
    }
    return 0;
}