Pagini recente » Cod sursa (job #2279460) | Cod sursa (job #2696076) | Cod sursa (job #1816213) | Cod sursa (job #2201435) | Cod sursa (job #1279388)
#include<fstream>
using namespace std;
int n, m, i, j, k, p, u, mid, r, l, g, x, y;
int v1[1025], v2[1025], L[1025], G[1025];
ifstream fin("balanta.in");
ofstream fout("balanta.out");
int main(){
fin>> n >> m;
for(i = 1; i <= m; i++){
fin>> k;
for(j = 1; j <= k; j++){
fin>> v1[j];
}
for(j = 1; j <= k; j++){
fin>> v2[j];
}
fin>> r;
if(r == 0){
for(j = 1; j <= k; j++){
L[v1[j]] = 1;
L[v2[j]] = 1;
G[v1[j]] = 1;
G[v2[j]] = 1;
}
}
else{
if(r == 1){
for(j = 1; j <= n; j++){
if(G[j] == 0){
p = 1;
u = k;
while(p <= u){
mid = (p + u) / 2;
if(v1[mid] == j){
break;
}
else{
if(v1[mid] > j){
u = mid - 1;
}
else{
p = mid + 1;
}
}
}
if(p > u){
G[j] = 1;
}
}
if(L[j] == 0){
p = 1;
u = k;
while(p <= u){
mid = (p + u) / 2;
if(v2[mid] == j){
break;
}
else{
if(v2[mid] > j){
u = mid - 1;
}
else{
p = mid + 1;
}
}
}
if(p > u){
L[j] = 1;
}
}
}
}
else{
for(j = 1; j <= n; j++){
if(G[j] == 0){
p = 1;
u = k;
while(p <= u){
mid = (p + u) / 2;
if(v2[mid] == j){
break;
}
else{
if(v2[mid] > j){
u = mid - 1;
}
else{
p = mid + 1;
}
}
}
if(p > u){
G[j] = 1;
}
}
if(L[j] == 0){
p = 1;
u = k;
while(p <= u){
mid = (p + u) / 2;
if(v1[mid] == j){
break;
}
else{
if(v1[mid] > j){
u = mid - 1;
}
else{
p = mid + 1;
}
}
}
if(p > u){
L[j] = 1;
}
}
}
}
}
}
for(i = 1; i <= n; i++){
if(L[i] == 0){
x = i;
l++;
}
if(G[i] == 0){
y = i;
g++;
}
}
if(l == 1 && g == 0){
fout<< x;
}
else{
if(l == 0 && g == 1){
fout<< y;
}
else{
fout<< 0;
}
}
return 0;
}