Mai intai trebuie sa te autentifici.
Cod sursa(job #403800)
Utilizator | Data | 25 februarie 2010 12:28:00 | |
---|---|---|---|
Problema | Balanta | Scor | 30 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 1.02 kb |
#include<stdio.h>
#include<string.h>
int a[1025],b[1025],g[1025],u[1025],poz;
int i,j,k,m,n,x,y,r;
int main() {
FILE*f=fopen("balanta.in","r");
FILE*G=fopen("balanta.out","w");
fscanf(f,"%d %d",&n,&m);
for(i=1;i<=n;i++){
u[i]=1;
g[i]=1;
}
for(k=1;k<=m;k++){
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
fscanf(f,"%d",&x);
for(j=1;j<=x;j++){
fscanf(f,"%d",&y);
a[y]=1;
}
for(j=1;j<=x;j++){
fscanf(f,"%d",&y);
b[y]=1;
}
fscanf(f,"%d",&r);
if(r==0){
for(i=1;i<=n;i++)
if(a[i]==1 || b[i]==1)
u[i]=g[i]=0;
}
if(r==1){
for(i=1;i<=n;i++){
if(a[i]==1)
u[i]=0;
if(b[i]==1)
g[i]=0;
}
}
if(r==2){
for(i=1;i<=n;i++){
if(a[i]==1)
g[i]=0;
if(b[i]==1)
u[i]=0;
}
}
}
x=0;
for(i=1;i<=n;i++){
if(u[i]){
x++;
poz=i;
}
if(g[i]){
x++;
poz=i;
}
}
if(x==1)
fprintf(G,"%d",poz);
else
fprintf(G,"0");
fclose(f);
fclose(G);
return 0;
}