Pagini recente » Cod sursa (job #2733122) | Cod sursa (job #2593206) | Cod sursa (job #2269600) | Cod sursa (job #684442) | Cod sursa (job #1168275)
#include<fstream>
using namespace std;
int h[1025],l[1025],n,m,l1,h1,k,b[700],a[700],r,p,aux[1025],aux1[1025];
int main()
{
ifstream in("balanta.in");
ofstream out("balanta.out");
in>>n>>m;
int i;
l1 = n;
h1 = n;
for(i = 1 ; i <= n ; i++)
{
h[i] = i;
l[i] = i;
}
for( ; m ; --m)
{
for(i = 1 ; i <= n ; i++)
{
aux[i] = 0;
aux1[i] = 0;
}
in>>k;
for( i = 1 ; i<= k; i++)
in>>a[i];
for(i=1 ; i <= k ; i++)
in>>b[i];
in>>r;
if(!r)
for( i = 1 ; i <= k ; i++)
{
if(h[a[i]] != 0) {h[a[i]] = 0 ; h1--;}
if(h[b[i]] != 0) {h[b[i]] = 0 ; h1--;}
if(l[a[i]] != 0) {l[a[i]] = 0 ; l1--;}
if(l[b[i]] != 0) {l[b[i]] = 0 ; l1--;}
}
if(r == 1)
{
for( i = 1 ; i <= k ; i++)
for( p = 1 ; p <= n ; p++)
if(a[i] == h[p])
aux[p] = h[p];
for( i = 1 ; i <= n ; i++)
{
if(h[i] != aux[i]) h1--;
h[i] = aux[i];
}
for( i = 1 ; i <= k ; i++)
for( p = 1 ; p <= n ; p++)
if(b[i] == l[p])
aux1[p] = l[p];
for( i = 1 ; i <= n ; i++)
{
if(l[i] != aux1[i]) l1--;
l[i] = aux1[i];
}
}
if(r==2){
for( i = 1 ; i <= k ; i++)
for( p = 1 ; p <= n ; p++)
if(b[i] == h[p])
aux[p] = h[p];
for( i = 1 ; i <= n ; i++)
{
if(h[i] != aux[i]) h1--;
h[i] = aux[i];
}
for( i = 1 ; i <= k ; i++)
for( p = 1 ; p <= n ; p++)
if(a[i] == l[p])
aux1[p] = l[p];
for( i = 1 ; i <= n ; i++)
{
if(l[i] != aux1[i]) l1--;
l[i] = aux1[i];
}
}
}
int sol;
if(l1==1 && h1 == 0)
for(i = 1 ; i <= n ; i++){
if(l[i] != 0){
out<<l[i];
return 0;
}
}
if(l1 == 0 && h1 == 1)
for(i = 1 ; i <= n ; i++){
if(h[i] != 0){
out<<h[i];
return 0;
}
}
out<<0;
return 0;
}