Pagini recente » Cod sursa (job #410940) | HLO 2023 - Lot - Tema 0 | Cod sursa (job #1293552) | Cod sursa (job #1352568) | Cod sursa (job #175598)
Cod sursa(job #175598)
# include <stdio.h>
# include <vector>
using namespace std;
# define input "pioni.in"
# define output "pioni.out"
# define max 20001
# define maxK 30001
vector < int > v[max],vt[max];
int stare[max];
int e[max],i,j,x,y,k,n,m,T;
int coada[max],st,dr;
int p[maxK];
int main()
{
freopen(input, "r", stdin);
freopen(output,"w", stdout);
scanf("%d%d%d",&T,&n,&m);
for(i = 1; i<= m;i++)
{
scanf("%d%d",&x,&y);
/* v[y][++v[y][0]] = x;
vt[x][++vt[x][0]] = y;*/
v[y].push_back(x);
vt[x].push_back(y);
e[x]++;
}
for( i = 1; i<= n;i++)
{
if(!e[i]) coada[++dr] = i;
else stare[i] = 1;
}
st = 1;
while(st <= dr)
{
i = coada[st++];
for( k = 0; k < v[i].size();k++)
{
j = v[i][k];
e[j]--;
stare[j] &= stare[i];
if(!e[j])
{
coada[++dr] = j;
stare[j] = !stare[j];
}
}
}
while(T--)
{
scanf("%d",&k);
x = 0;
for( i = 1; i <= k; i++)
{
scanf("%d",&p[i]);
x += stare[p[i]];
}
if(!x)
printf("Fumeanu\n");
else
{
printf("Nargy\n%d ",x);
for(i = 1; i <= k;i++)
{
if(stare[p[i]])
{
for( j = 0; j < vt[ p[i] ].size(); j++)
if(!stare[vt[p[i]][j]])
{
printf("%d %d ",p[i],vt[p[i]] [j] );
break;
}
}
}
printf("\n");
}
}
return 0;
}