Pagini recente » Cod sursa (job #1889610) | Cod sursa (job #1341960) | Cod sursa (job #2668197) | Cod sursa (job #107602) | Cod sursa (job #468197)
Cod sursa(job #468197)
#include<fstream>
using namespace std;
int n, m, k, sg, fh[1025], fl[1025], sh, sl;
int fa[1025], fb[1025];
int main()
{
ifstream fin("balanta.in");
ofstream fout("balanta.out");
fin >> n >> m;
for (int i = 1; i <= n; ++i)
fh[i] = 1, fl[i] = 1;
while (m--)
{
fin >> k;
memset(fa, 0, sizeof(fa));
memset(fb, 0, sizeof(fb));
for (int i = 1, aux; i <= k; ++i)
fin >> aux, fa[aux] = 1;
for (int i = 1, aux; i <= k; ++i)
fin >> aux, fb[aux] = 1;
fin >> sg;
switch (sg)
{
case 0:
for (int i = 1; i <= n; ++i)
{
if (fh[i] == 1 && (fa[i] == 1 || fb[i] == 1)) fh[i] = 0;
if (fl[i] == 1 && (fa[i] == 1 || fb[i] == 1)) fl[i] = 0;
}
break;
case 1:
for (int i = 1; i <= n; ++i)
{
if (fa[i] == 1 && fl[i] == 1) fl[i] = 0;
if (fb[i] == 1 && fh[i] == 1) fh[i] = 0;
if (fa[i] == 0 && fh[i] == 1) fh[i] = 0;
if (fb[i] == 0 && fl[i] == 1) fl[i] = 0;
}
break;
case 2:
for (int i = 1; i <= n; ++i)
{
if (fa[i] == 1 && fh[i] == 1) fh[i] = 0;
if (fb[i] == 1 && fl[i] == 1) fl[i] = 0;
if (fa[i] == 0 && fl[i] == 1) fl[i] = 0;
if (fb[i] == 0 && fh[i] == 1) fh[i] = 0;
}
break;
}
}
for (int i = 1; i <= n; ++i)
{
if (fh[i] == 1) ++sh;
if (fl[i] == 1) ++sl;
}
if (sh + sl > 1) fout << 0;
else
for (int i = 1; i <= n; ++i)
if (fh[i] == 1 || fl[i] == 1)
{
fout << i;
break;
}
}