Cod sursa(job #16853)

Utilizator supernovaMihai Pantis supernova Data 14 februarie 2007 11:36:52
Problema Aprindere Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <stdio.h>

int n,m,state[1100],total=0;
struct
{
    int nr,t;
    int a[1100];

} room[1100];

void citire(void)
{
    int i,j,index;
    FILE *f=fopen("aprindere.in","r");
    
    fscanf(f,"%d %d",&n,&m);
    for(i=0;i<n;i++) fscanf(f,"%d",&state[i]);
    for(i=0;i<n;i++) { room[i].nr=room[i].t=0; }
    for(i=0;i<m;i++)
    {
	fscanf(f,"%d",&index);
	fscanf(f,"%d %d",&room[index].t,&room[index].nr);
	for(j=0;j<room[index].nr;j++) fscanf(f,"%d",&room[index].a[j]);
	if(state[index]==0)
	{ 
	    total+=room[index].t;
	    for(j=0;j<room[index].nr;j++) state[room[index].a[j]]=1-state[room[index].a[j]];
	}
    }
    fclose(f);
}

int main(void)
{
    citire();
    FILE *f=fopen("aprindere.out","w");
    fprintf(f,"%d\n",total);
    fclose(f);




    return 0;
}