Pagini recente » Cod sursa (job #1152652) | Cod sursa (job #2679008) | Cod sursa (job #2640871) | Cod sursa (job #1356183) | Cod sursa (job #2548344)
#include <iostream>
#include <fstream>
std::ifstream f("balanta.in");
std::ofstream g("balanta.out");
const int NMAX = 1025;
int n,m,k,result,dreapta[NMAX],stanga[NMAX];
bool usor[NMAX],greu[NMAX];
void readQuery(){
f >> k;
for(int j = 1;j <= k;++j)
f >> stanga[j];
for(int j = 1;j <= k;++j)
f >> dreapta[j];
f >> result;
}
int main(){
f >> n >> m;
for(int i = 1;i <= n;++i)
usor[i] = greu[i] = 1;
for(int i = 1;i <= m;++i){
readQuery();
if(result == 0){
for(int j = 1;j <= k;++j){
usor[dreapta[j]] = greu[dreapta[j]] = 0;
usor[stanga[j]] = greu[stanga[j]] = 0;
}
}
if(result == 1){
for(int j = 1;j <= k;++j){
greu[dreapta[j]] = 0;
usor[stanga[j]] = 0;
}
}
if(result == 2){
for(int j = 1;j <= k;++j){
greu[stanga[j]] = 0;
usor[dreapta[j]] = 0;
}
}
/*
for(int j = 1;j <= n;++j)
g << usor[j] << ' ';
g << '\n';
for(int j = 1;j <= n;++j)
g << greu[j] << ' ';
*/
}
int ones = 0;
int pos = -1;
for(int i = 1;i <= n && ones <= 1;++i){
if(usor[i] == 1){
ones++;
pos = i;
}
}
if(ones == 1){
g << pos;
return 0;
}
ones = 0;
pos = -1;
for(int i = 1;i <= n && ones <= 1;++i){
if(greu[i] == 1){
ones++;
pos = i;
}
}
if(ones == 1){
g << pos;
return 0;
}
g << 0;
return 0;
}