Pagini recente » Cod sursa (job #531649) | Cod sursa (job #2628693) | Cod sursa (job #2887099) | Cod sursa (job #256661) | Cod sursa (job #2189494)
#include <fstream>
using namespace std;
int n,m,i,j,gr[1025],us[1025],VER,k,sol,x,v1[1025],v2[1025];
int main (){
ifstream fin ("balanta.in");
ofstream fout ("balanta.out");
fin>>n>>m;
for (i=1;i<=n;i++){
gr[i]=1;
us[i]=1;
}
for (i=1;i<=m;i++){
fin>>k;
for (j=1;j<=n;j++)
v1[j] = v2[j] = 0;
for (j=1;j<=k;j++){
fin>>x;
v1[x]=1;
}
for (j=1;j<=k;j++){
fin>>x;
v2[x]=1;
}
fin>>VER;
if (VER==1)
for (j=1;j<=n;j++){
if (v1[j] == 1)
us[j] = 0;
if (v2[j] == 1)
gr[j] = 0;
if (v1[j] == 0 && v2[j] == 0)
us[j] = gr[j] = 0;
}
else
if (VER==2)
for (j=1;j<=n;j++){
if (v1[j] == 1)
gr[j] = 0;
if (v2[j] == 1)
us[j] = 0;
if (v1[j] == 0 && v2[j] == 0)
us[j] = gr[j] = 0;
}
else
for (j=1;j<=n;j++){
if (v1[j] == 1 || v2[j] == 1)
us[j] = gr[j] = 0;
}
}
for (i=1;i<=n;i++) {
if (us[i] == 1) {
sol++;
k = i;
}
if (gr[i] == 1) {
sol++;
k = i;
}
}
if (sol == 1)
fout<<k;
else
fout<<0;
}
/*
1 2 3 4 5 6 7 8
us 0 0 0 0 1 1 1 1
gr 0 0 1 1 0 0 0 0
8 3
4 1 2 3 4 5 6 7 8 1
1 1 2 0
1 3 4 2
*/