Cod sursa(job #189503)

Utilizator log2cont de teste log2 Data 14 mai 2008 22:35:18
Problema Oras Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.21 kb
#include <stdio.h>
#define DIM 201
int a[DIM][DIM],b[DIM][DIM];
int i,j,n;

int main(){

  FILE *f = fopen("oras.in","r");
  fscanf(f,"%d",&n);
  fclose(f);

  FILE *g = fopen("oras.out","w");
  if (n==4) {
    fprintf(g,"-1");
  } else {
    a[1][2]=1;a[3][1]=1;a[4][1]=1;a[1][5]=1;a[1][6]=1;
    a[2][3]=1;a[4][2]=1;a[2][5]=1;a[6][2]=1;
    a[3][4]=1;a[5][3]=1;a[3][6]=1;
    a[4][5]=1;a[6][4]=1;
    a[5][6]=1;
    b[1][2]=1;b[3][1]=1;b[4][1]=1;b[1][5]=1;b[1][6]=1;
    b[2][3]=1;b[4][2]=1;b[2][5]=1;b[6][2]=1;
    b[3][4]=1;b[5][3]=1;b[3][6]=1;
    b[4][5]=1;b[6][4]=1;
    b[5][6]=1;

/*    int k;
    if (n%2==0)
      k=8;
    else
      k=5;*/

    for (i=5;i<=n;i++) {
      if (i==6) continue;
      if (i%2==0) {
	for (j=1;j<=i-2;j++) {
	  a[i-1][j]=1;
	  a[j][i]=1;
	  a[i][i-1]=1;
	}
      } else {
	for (j=1;j<=i-2;j++) {
	  b[i-1][j]=1;
	  b[j][i]=1;
	  b[i][i-1]=1;
	}
      }
    }

    if (i%2==0) {
      for (i=1;i<=n;i++) {
	for (j=1;j<=n;j++)
	  fprintf(g,"%d ",a[i][j]);
	fprintf(g,"\n");
      }

    } else {
      for (i=1;i<=n;i++) {
	for (j=1;j<=n;j++)
	  fprintf(g,"%d ",b[i][j]);
	fprintf(g,"\n");
      }
    }

  }

  fclose(g);
  return 0;
}