Cod sursa(job #2738317)
Utilizator | Girbovan Robert Luca BlueLuca888 | Data | 5 aprilie 2021 18:07:21 |
---|---|---|---|
Problema | Balanta | Scor | 80 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 1.39 kb |
#include <iostream>
#include <fstream>
#define ADD 1000
using namespace std;
ifstream fin ("balanta.in");
ofstream fout ("balanta.out");
int g[1005], u[1005], f[1005];
int n, m, k, x, ok, sol;
int main (){
fin>>n>>m;
for(int i=1; i<=m; i++){
fin>>k;
for(int j=1; j<=k; j++){
fin>>x;
f[x]=i;
}
for(int j=1; j<=k; j++){
fin>>x;
f[x]=i+ADD;
}
fin>>ok;
if(ok == 0){
for(int j=1; j<=n; j++)
if(f[j] == i || f[j] == i+ADD)
g[j]=u[j]=1;
}else if(ok == 1){
for(int j=1; j<=n; j++)
if(f[j] == i)
g[j]=1;
else if(f[j] == i+ADD)
u[j]=1;
else
g[j]=u[j]=1;
}else{
for(int j=1; j<=n; j++)
if(f[j] == i)
u[j]=1;
else if(f[j] == i+ADD)
g[j]=1;
else
g[j]=u[j]=1;
}
}
ok=0;
for(int i=1; i<=n; i++){
if(g[i] == 1 && u[i] == 1)
continue;
if(ok == 0){
ok=1;
sol=i;
}else
ok=2;
}
if(ok == 1)
fout<<sol;
else
fout<<0;
return 0;
}