Cod sursa(job #2578294)
Utilizator | Data | 10 martie 2020 20:25:39 | |
---|---|---|---|
Problema | Balanta | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 3.25 kb |
#include <fstream>
using namespace std;
ifstream cin("balanta.in");
ofstream cout("balanta.out");
int v[1030],v2[1030],v3[1030],v4[1030];///v3 - nr is heavier,v4 - nr is lighter
int main()
{
int n,m,k,a,nr,cnt = 0,nr2;
bool g3 = 0,g4 = 0;
cin>>n>>m;
for(int x = 0;x < m;x++){
cin>>k;
for(int y = 0;y < k;y++){
cin>>a;
v[a] = 1;
}
for(int y = 0;y < k;y++){
cin>>a;
v2[a] = 1;
}
cin>>nr;
if(nr == 0){
for(int y = 0;y <= 1024;y++){
if(v[y] == 1 || v2[y] == 1){
v3[y] = 1;
v4[y] = 1;
}
}
}else if(nr == 1){
///verification
if(g3 == 0){
g3 = 1;
for(int y = 0;y <= 1024;y++){
if(v[y] == 1){
if(v3[y] != 1){
g3 = 0;
break;
}
}
}
for(int y = 0;y <= 1024;y++){
if(v[y] != 1){
v3[y] = 1;
}
}
}
if(g4 == 0){
g4 = 1;
for(int y = 0;y <= 1024;y++){
if(v2[y] == 1){
if(v4[y] != 1){
g4 = 0;
break;
}
}
}
for(int y = 0;y <= 1024;y++){
if(v2[y] != 1){
v4[y] = 1;
}
}
}
}else{
///verification
if(g3 == 0){
g3 = 1;
for(int y = 0;y <= 1024;y++){
if(v2[y] == 1){
if(v3[y] != 1){
g3 = 0;
break;
}
}
}
for(int y = 0;y <= 1024;y++){
if(v2[y] != 1){
v3[y] = 1;
}
}
}
if(g4 == 0){
g4 = 1;
for(int y = 0;y <= 1024;y++){
if(v[y] == 1){
if(v4[y] != 1){
g4 = 0;
break;
}
}
}
for(int y = 0;y <= 1024;y++){
if(v[y] != 1){
v4[y] = 1;
}
}
}
}
for(int y = 0;y <= 1024;y++){
v2[y] = 0;
v[y] = 0;
}
}
if(g3 == 0){
for(int x = 1;x <= n;x++){
if(v3[x] == 0){
nr2 = x;
cnt++;
}
}
}
if(g4 == 0){
for(int x = 1;x <= n;x++){
if(v4[x] == 0){
nr2 = x;
cnt++;
}
}
}
if(cnt == 1){
cout<<nr2;
}else cout<<0;
return 0;
}