Pagini recente » Cod sursa (job #2355540) | Cod sursa (job #2837992) | Cod sursa (job #1115239) | Cod sursa (job #2455166) | Cod sursa (job #1424921)
#include <iostream>
#include <fstream>
using namespace std;
int h[1025];
int l[1025];
int v1[513];
int v2[513];
int main()
{
ifstream fin("balanta.in");
ofstream fout("balanta.out");
int n, m, x, r;
fin >> n >> m;
for(int i=1; i<=n; i++)
h[i]=l[i]=1;
for(int z=1; z<=m; z++){
fin >> x;
for(int j=1; j<=x; j++)
fin >> v1[j];
for(int j=1; j<=x; j++)
fin >> v2[j];
fin >> r;
if(r==1 || r==0){
for(int i=1; i<=x; i++){
l[v1[i]]--;
if(r!=0)l[v2[i]]++;
h[v2[i]]--;
if(r!=0)h[v1[i]]++;
}
}
if(r==2 || r==0){
for(int i=1; i<=x; i++){
l[v2[i]]--;
if(r!=0)l[v1[i]]++;
h[v1[i]]--;
if(r!=0)h[v2[i]]++;
}
}
if(r!=0){
for(int i=1; i<=n; i++){
h[i]--;
l[i]--;
}
}
}
for(int i=1; i<=n; i++){
//fout << h[i] << " " << l[i] << endl;
if(h[i]==1)
h[0]++;
if(l[i]==1)
l[0]++;
}
//fout << h[0] << " " << l[0] << endl;
if(h[0]+l[0]==2){
r=0;
for(int i=1; i<=n; i++)
if(h[i]==l[i] && h[i]==1){
r=i;
break;
}
fout << r;
}
else if(h[0]==1){
for(int i=1; i<=n; i++)
if(h[i]==1){
fout << i;
break;
}
}
else if(l[0]==1){
for(int i=1; i<=n; i++)
if(l[i]==1){
fout << i;
break;
}
}
else fout << 0;
return 0;
}