Pagini recente » Cod sursa (job #518632) | Cod sursa (job #126822) | Cod sursa (job #2115116) | Cod sursa (job #2964593) | Cod sursa (job #1848199)
#include <iostream>
#include <fstream>
#define NMAX 1028
using namespace std;
ifstream in("balanta.in");
ofstream out("balanta.out");
int n,m,greu[NMAX],usor[NMAX],st[NMAX],dr[NMAX],t,c;
void solve();
int main()
{
in >> n >> m;
for(int i=1;i<=n;i++)
{
usor[i] = greu[i] = 1;
}
for(int i=0;i<m;i++)
{
in >> t;
for(int j=0;j<t;j++) in >> st[j];
for(int j=0;j<t;j++) in >> dr[j];
in >> c;
solve();
}
int sum=0;
for(int i=1;i<=n;i++)
{
sum+=greu[i];
sum+=usor[i];
}
if(sum>1) out << 0;
else
{
for(int i=1;i<=n;i++)
{
if(usor[i]==1 || greu[i]==1) {out << i; break;}
}
}
return 0;
}
void solve()
{
if(c==0)
{
for(int i=0;i<t;i++)
{
usor[st[i]]=0;usor[dr[i]]=0;
greu[st[i]]=0;greu[dr[i]]=0;
}
}
else if(c==1)
{
for(int i=0;i<t;i++)
{
greu[st[i]]++;
}
for(int i=1;i<=n;i++)
{
if(greu[i]>0)
greu[i]--;
}
for(int i=0;i<t;i++)
{
usor[dr[i]]++;
}
for(int i=1;i<=n;i++)
{
if(usor[i]>0)
usor[i]--;
}
}
else
{
for(int i=0;i<t;i++)
{
greu[dr[i]]++;
}
for(int i=1;i<=n;i++)
{
if(greu[i]>0)
greu[i]--;
}
for(int i=0;i<t;i++)
{
usor[st[i]]++;
}
for(int i=1;i<=n;i++)
{
if(usor[i]>0)
usor[i]--;
}
}
// for(int i=1;i<=n;i++)
// {
// cout << greu[i] << " ";
// }
// cout << endl;
// for(int i=1;i<=n;i++)
// {
// cout << usor[i] << " ";
// }
// cout << endl << endl;
}
//#include <iostream>
//#include <fstream>
//#define NMAX 1028
//
//using namespace std;
//
//ifstream in("balanta.in");
//ofstream out("balanta.out");
//
//int n,m,greu[NMAX],usor[NMAX],st[NMAX],dr[NMAX],t,c,x;
//void solve();
//void af()
//{
// for(int i=1;i<=n;i++)
// {
// cout << greu[i] << " ";
// }
// cout << endl;
// for(int i=1;i<=n;i++)
// {
// cout << usor[i] << " ";
// }
// cout << endl << endl;
//}
//int main()
//{
// in >> n >> m;
//
// for(int i=1;i<=n;i++)
// {
// usor[i] = greu[i] = 1;
// }
//
// for(int i=0;i<3;i++)
// {
// in >> t;
// for(int j=0;j<t;j++)
// {
// in >> x;
// st[i]=0;
// }
// for(int j=0;j<t;j++)
// {
// in >> dr[j];
// st[i]]
// }
// in >> c;
// solve();
// }
// int sum=0;
// for(int i=1;i<=n;i++)
// {
// sum+=greu[i];
// sum+=usor[i];
// }
// if(sum>1) out << 0;
// else
// {
// for(int i=1;i<=n;i++)
// {
// if(usor[i]==1 || greu[i]==1) {out << i; break;}
// }
// }
// return 0;
//}
//
//
//
//void solve()
//{
// if(c==0)
// {
// for(int i=0;i<t;i++)
// {
// usor[st[i]]=0;usor[dr[i]]=0;
// greu[st[i]]=0;greu[dr[i]]=0;
// }
// }
//
//}
//
//void scade(int[] g,int[] u)
//{
// for(int i=1;i<=n;i++)
// {
// if(g[i]==1)
// greu[i] = 0;
//
// if(u[i]==1)
// usor[i] = 0l
// }
//}