Pagini recente » Cod sursa (job #1180070) | Cod sursa (job #1693377) | Cod sursa (job #1712813) | Cod sursa (job #1271886) | Cod sursa (job #1289608)
#include<fstream>
using namespace std;
ifstream fin("balanta.in");
ofstream fout("balanta.out");
int n,m,k,T,M,i,j,c,N1,N2;
int H[1025],L[1025],A[1025],B[1025],C[1025];
int main(){
fin>>n>>M;
for(i=1;i<=n;i++)
H[i]=i;
for(i=1;i<=n;i++)
L[i]=i;
N1=n;
N2=n;
for(m=1;m<=M;m++){
fin>>k;
for(i=1;i<=k;i++)
fin>>A[i];
for(i=1;i<=k;i++)
fin>>B[i];
fin>>T;
if(T==0){
for(i=1;i<=k;i++){
if(H[A[i]]!=0)
N1--;
H[A[i]]=0;
if(L[A[i]]!=0)
N2--;
L[A[i]]=0;
if(H[B[i]]!=0)
N1--;
H[B[i]]=0;
if(L[B[i]]!=0)
N2--;
L[B[i]]=0;
}
}
if(T==1){
c=0;
for(i=1;i<=k;i++)
C[++c]=H[A[i]];
for(i=1;i<=n;i++)
H[i]=0;
for(i=1;i<=c;i++)
H[C[i]]=C[i];
N1-=(N1-c);
c=0;
for(i=1;i<=k;i++)
C[++c]=L[B[i]];
for(i=1;i<=n;i++)
L[i]=0;
for(i=1;i<=c;i++)
L[C[i]]=C[i];
N2-=(N2-c);
}
if(T==2){
c=0;
for(i=1;i<=k;i++)
C[++c]=H[B[i]];
for(i=1;i<=n;i++)
H[i]=0;
for(i=1;i<=c;i++)
H[C[i]]=C[i];
N1-=(N1-c);
c=0;
for(i=1;i<=k;i++)
C[++c]=L[A[i]];
for(i=1;i<=n;i++)
L[i]=0;
for(i=1;i<=c;i++)
L[C[i]]=C[i];
N2-=(N2-c);
}
}
if(N1==1)
for(i=1;i<=n;i++){
if(H[i]!=0){
fout<<H[i];
break;
}
}
else{
if(N2==0){
for(i=1;i<=n;i++)
if(L[i]!=0){
fout<<L[i];
break;
}
}
else
fout<<"0";
}
return 0;
}