Cod sursa(job #7931)

Utilizator Binary_FireFlorin Pg Binary_Fire Data 23 ianuarie 2007 00:27:16
Problema Aprindere Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include<stdio.h>
#define fin  "aprindere.in"
#define fout "aprindere.out"
#define Nmax 1001
int n,m,cost,v[Nmax],c[Nmax][Nmax+1];
FILE *in,*out;

int main() {
int i,j,cam,nrc,ct;
	in=fopen(fin,"r"); out=fopen(fout,"w");
	fscanf(in,"%i%i",&n,&m);
	for (i=0;i<n;++i) fscanf(in,"%i",&v[i]);

	for (i=1;i<=m;++i) {
		fscanf(in,"%i%i%i",&cam,&ct,&nrc);
		c[cam][0]=nrc;
		for (j=1;j<=nrc;++j) fscanf(in,"%i",&c[cam][j]);
		c[cam][nrc+1]=ct;
	}
	
	for (i=0;i<n;++i) 
		if (!v[i]) {
			
			cost+=c[i][c[i][0]+1];
			for (j=1;j<=c[i][0];++j) v[c[i][j]]=!v[c[i][j]];
		}

	fprintf(out,"%i\n",cost);

	fclose(in); fclose(out);

	return 0;
}