Pagini recente » Cod sursa (job #2755938) | Cod sursa (job #660034) | Cod sursa (job #499268) | Cod sursa (job #2853028) | Cod sursa (job #762154)
Cod sursa(job #762154)
using namespace std;
#include <iostream>
#include <fstream>
ifstream fin("balanta.in");
ofstream fout("balanta.out");
int n, m, G[1030], U[1030], x[600], y[600], k, rez;
int main(){
fin >> n >> m;
for(int i=1;i<=n;++i)
G[i] = U[i] = 1;
for( ; m ; --m){
fin >> k;
for(int i=1;i<=k;++i)
fin >> x[i];
for(int i=1;i<=k;++i)
fin >> y[i];
fin >> rez;
if(rez == 0)
for(int i=1;i<=k;++i)
G[x[i]] = G[y[i]] = U[x[i]] = U[y[i]] = 0;
if(rez == 1){
//cele din x[] sunt mai grele, cele din y[] mai usoare
for(int i=1;i<=k;++i){
if(G[x[i]]==1)
G[x[i]] = -1;
if(U[y[i]]==1)
U[y[i]] = -1;
}
for(int i=1;i<=n;++i)
G[i] = (G[i]==-1?1:0), U[i] = (U[i]==-1?1:0);
}
if(rez == 2){
//cele din y[] sunt mai grele, cele din x[] mai usoare
for(int i=1;i<=k;++i){
if(G[y[i]]==1)
G[y[i]] = -1;
if(U[x[i]]==1)
U[x[i]] = -1;
}
for(int i=1;i<=n;++i)
G[i] = (G[i]==-1?1:0), U[i] = (U[i]==-1?1:0);
}
}
int nru=0, gg, nrg=0, uu;
for(int i=1;i<=n;++i){
if(G[i] == 1)
nrg++, gg = i;
if(U[i] == 1)
nru++, uu = i;
}
if(nrg==1 && nru==0)
fout << gg << "\n";
else
if(nrg==0 && nru==1)
fout << uu << "\n";
else
fout << "0\n";
return 0;
}