Pagini recente » Monitorul de evaluare | Monitorul de evaluare | Cod sursa (job #228977) | Cod sursa (job #2015315) | Cod sursa (job #403800)
Cod sursa(job #403800)
#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;
}