Pagini recente » Monitorul de evaluare | Cod sursa (job #233234) | Profil Opportunity | Cod sursa (job #898161) | Cod sursa (job #403737)
Cod sursa(job #403737)
#include<stdio.h>
#include<string.h>
#define dim 1025
FILE*f=fopen("balanta.in","r");
FILE*g2=fopen("balanta.out","w");
int n,m,nr,x,t,ii,i,sol,nrsol;
char a[dim],b[dim],u[dim],g[dim];
int main () {
fscanf(f,"%d%d",&n,&m);
for(i=1;i<=n;i++){
u[i]=1;
g[i]=1;
}
for(ii=1;ii<=m;ii++){
fscanf(f,"%d",&nr);
for(i=1;i<=nr;i++) {
fscanf(f,"%d",&t);
a[t] = 1;
}
for(i=1;i<=nr;i++) {
fscanf(f,"%d",&t);
b[t] = 1;
}
fscanf(f,"%d",&x);
if(x==0){
for(i=1;i<=n;i++) {
if (a[i]==1)
u[i] = g[i] = 0;
if (b[i]==1)
u[i] = g[i] = 0;
}
}
if(x==1){
//u=u^b
//g=g^a
for(i=1;i<=n;i++){
if(u[i]==a[i])
u[i]=0;
if(g[i]==b[i])
g[i]=0;
}
}
if(x==2){
//u=u^b
//g=g^b;
for(i=1;i<=n;i++){
if(u[i]==b[i])
u[i]=0;
if(g[i]==a[i])
g[i]=0;
}
}
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
}
for(i=1;i<=n;i++){
if(g[i]==1)
sol=i,nrsol++;
if(u[i]==1)
sol=i,nrsol++;
}
if(nrsol==1)
fprintf(g2,"%d",sol);
else
fprintf(g2,"0");
fclose(f);
fclose(g2);
return 0;
}