Cod sursa(job #8630)

Utilizator Darth_NiculusIvan Nicolae Darth_Niculus Data 25 ianuarie 2007 10:32:54
Problema Aprindere Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <stdio.h>

#define NMAX 1002
#define swichit(x) ((!x) ? (1) : (0))

int i,j,n,m,A[NMAX],T[NMAX],C[NMAX][NMAX];

int main()
{
 freopen("aprindere.in","r",stdin);
 freopen("aprindere.out","w",stdout);

 scanf("%d%d",&n,&m);
 for (i=0;i<n;i++)
    scanf("%d",&A[i]);
 for (i=1;i<=m;i++)
    {
     int X,Y,Z,k;
     scanf("%d%d%d",&X,&Y,&Z);
     C[X][0]=Z;
     T[X]=Y;
     for (k=1;k<=Z;k++)
        scanf("%d",&C[X][k]);
    }

 int REZ=0;
 for (i=0;i<n;i++)
    if (!A[i])
      {
       REZ+=T[i];
//       printf("%d ",i);
  /*     for (j=1;j<=C[i][0];j++)
          printf("a:%d ",C[i][j]); */
//       printf("\n");
       for (j=1;j<=C[i][0];j++)
          A[C[i][j]]=swichit(A[C[i][j]]);
//       printf("gogu:%d",A[1]);
      }

 printf("%d\n",REZ);

 fclose(stdin);
 fclose(stdout);
 return 0;
}