Pagini recente » Cod sursa (job #1901317) | Cod sursa (job #3134333) | Cod sursa (job #2449307) | Cod sursa (job #2802572) | Cod sursa (job #955564)
Cod sursa(job #955564)
#include <cstdio>
#include <fstream>
#include <vector>
using namespace std;
int main()
{
FILE* f=fopen("balanta.in","r");
ofstream g("balanta.out");
size_t n,m;
fscanf(f,"%d%d",&n,&m);
vector<bool> hv(n+1,1),lv(n+1,1);
while(m--){
vector<int> a,b;
int k;
fscanf(f,"%d",&k);
for(size_t i=0;i<k;i++){
int x;
fscanf(f,"%d",&x);
a.push_back(x);
}
for(size_t i=0;i<k;i++){
int x;
fscanf(f,"%d",&x);
b.push_back(x);
}
int st;
fscanf(f,"%d",&st);
switch(st){
case 0:
for(size_t i=0;i<k;i++){
hv[a[i]]=lv[a[i]]=0;
hv[b[i]]=lv[b[i]]=0;
}
break;
case 1:
for(size_t i=0;i<k;i++)
lv[a[i]]=0;
for(size_t i=0;i<k;i++)
hv[b[i]]=0;
break;
case 2:
for(size_t i=0;i<k;i++)
lv[b[i]]=0;
for(size_t i=0;i<k;i++)
hv[a[i]]=0;
break;
}
}
int hvc=0,lvc=0;
int x,y;
for(size_t i=1;i<=n;i++)
if(hv[i]){
hvc++;
x=i;
}
for(size_t i=1;i<=n;i++)
if(lv[i]){
lvc++;
y=i;
}
if(hvc==1){
g<<x;
return 0;
}
if(lvc==1){
g<<y;
return 0;
}
g<<0;
return 0;
}