Pagini recente » Cod sursa (job #1294226) | Cod sursa (job #971325) | Cod sursa (job #1452685) | Cod sursa (job #1533062) | Cod sursa (job #1208814)
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream f("balanta.in");
ofstream g("balanta.out");
int vizG[1025], vizU[1025], n, m, i, j, k, r, st[613], dr[613], greu = 0, usor = 0, solG,solU,sol=0;
f >> n >> m;
for (i = 1; i <= n; ++i) vizU[i] = vizG[i] =1;
for (i = 1; i <= m; ++i)
{
f >> k;
for (j = 1; j <= k; ++j) f >> st[j];
for (j = 1; j <= k; ++j) f >> dr[j];
f >> r;
if (r == 0)
{
for (j = 1; j <= k; ++j) vizU[st[j]] = vizU[dr[j]] = vizG[st[j]] = vizG[dr[j]]=0;
}
else if (r == 1)
{
for (j = 1; j <= k; ++j)
{
vizG[dr[j]] = 0;
vizU[st[j]] = 0;
}
}
else for (j = 1; j <= k; ++j)
{
vizG[st[j]] = 0;
vizU[dr[j]] = 0;
}
}
for (i = 1; i <= n; ++i)
{
if (vizG[i] == 1)
{
greu++;
if (greu == 1) solG = i;
}
if (vizU[i] == 1)
{
usor++;
if (usor == 1) solU = i;
}
}
if (usor == 1 && greu!=1)
{
if (vizG[solU] == 0) sol = solU;
}
if (greu == 1 && usor!=1)
{
if (vizU[solG] == 0) sol = solG;
}
g << sol;
f.close();
g.close();
return 0;
}