Cod sursă (job #551703)

Utilizator avatar Vlad_d Vlad Mihai Dimulescu Vlad_d IP ascuns
Problemă Beculețe (clasele 9-10) Compilator c | 0,85 kb
Rundă Arhiva de probleme Status evaluat
Dată 9 apr. 2020 11:33:53 Scor 30
#include <stdio.h>
#define DMAX 10000
#define MAXN 50000

int v[2][MAXN];

struct defect{
  int l, c, stare;
} d[DMAX];

int main(){
  FILE *fin, *fout;
  fin = fopen( "beculete.in", "r" );
  fout = fopen( "beculete.out", "w" );
  int n, D, i, l, c, s, poz, f, j;
  fscanf( fin, "%d%d", &n, &D );
  for( i = 0; i < D; i++ )
    fscanf( fin, "%d%d%d", &d[i].l, &d[i].c, &d[i].stare );
  poz = 0;
  f = 1;
  v[0][0] = 1;
  for( i = 1; i < n; i++ ){
    v[f][0] = v[1 - f][0];
    for( j = 1; j < n - 1; j++ )
      v[f][j] = v[1 - f][j - 1] ^ v[1 - f][j];
    v[f][n - 1] = v[1 - f][n - 2];

    while( d[poz].l == (i + 1) && poz < D ){
      v[f][d[poz].c - 1] = d[poz].stare;
      poz++;
    }
    f = 1 - f;
  }
  for( i = 0; i < n; i++ )
    fprintf( fout, "%d ", v[1 - f][i] );
  fclose( fin );
  fclose( fout );
  return 0;
}