Cod sursa(job #1716685)

Utilizator RaduMirceaAndreiRadu Mircea Andrei RaduMirceaAndrei Data 13 iunie 2016 14:23:16
Problema Oras Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.97 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=1;i+2<=n;i+=3)
            tri(i,i+1,i+2);
        for(i=1;i+2<n;i+=3)
            for(j=i+3;j+2<=n;j+=3)
                add3(i,i+1,i+2,j,j+1,j+2);
        if(n%3==2){
            v[n-1][n]=0;
            for(i=1;i+2<=n;i+=3)
                add2(i,i+1,i+2,n-1,n);
        }
        for(i=1;i<=n;i++){
            for(j=1;j<=n;j++)
                fout<<v[i][j]<<" ";
            fout<<"\n";
        }
    }
    return 0;
}