Cod sursa(job #1772854)
| Utilizator | Data | 7 octombrie 2016 08:43:31 | |
|---|---|---|---|
| Problema | Balanta | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 1.41 kb |
#include <fstream>
#define DIM 1032
using namespace std;
int n,m,k,val,a[DIM],b[DIM],c[DIM],v[DIM];
int main()
{
ifstream fin("balanta.in");
ofstream fout("balanta.out");
fin>>n>>m;
int counter=0;
for(int i=1;i<=m;i++) {
fin>>k;
for(int j=1;j<=k;j++)
fin>>a[j];
for(int j=1;j<=k;j++)
fin>>b[j];
fin>>val;
if(val==0) {
for(int j=1;j<=k;j++)
c[a[j]]=c[b[j]]=-1;
}
else {
counter++;
for(int j=1;j<=k;j++) {
if(val==1) val=2;
else val=1;
if(c[a[j]]>=0) {
if(v[a[j]]==val||v[a[j]]==0)
c[a[j]]++,v[a[j]]=val;
else
c[a[j]]=-1;
}
if(val==1) val=2;
else val=1;
if(c[b[j]]>=0) {
if(v[b[j]]==val||v[b[j]]==0)
c[b[j]]++,v[b[j]]=val;
else
c[b[j]]=-1;
}
}
}
}
int coin=0;
for(int i=1;i<=n;i++) {
if(c[i]!=counter)
continue;
if(coin==0)
coin=i;
else
coin=-1;
}
if(coin==-1)
fout<<"0";
else
fout<<coin;
return 0;
}
