Pagini recente » Cod sursa (job #2968004) | Cod sursa (job #1499042) | Cod sursa (job #2908844) | Cod sursa (job #3199469) | Cod sursa (job #134434)
Cod sursa(job #134434)
using namespace std;
#include <stdio.h>
#include <vector>
#define Nmax 20002
#define Kmax 30002
int N,M,T,K,a,b,i;
int p[Kmax];
char was[Nmax];
int SG[Nmax];
vector<int> G[Nmax];
int dfs(int nod)
{
int nr=0;
vector<int> :: iterator it;
was[nod]=1;
for (it=G[nod].begin(); it<G[nod].end(); ++it)
if (!was[*it])
if (dfs(*it)==0) SG[nod]=*it;
else ;
else if (SG[*it]==0) SG[nod]=*it;
return SG[nod];
}
int main()
{
freopen("pioni.in","r",stdin);
freopen("pioni.out","w",stdout);
scanf("%d %d %d",&T,&N,&M);
for (i=0;i<M;++i)
{
scanf("%d %d",&a,&b);
G[a].push_back(b);
}
for (i=1;i<=N;++i)
if (!was[i]) dfs(i);
while (T)
{
--T;
scanf("%d",&K);
a=0;
for (i=0;i<K;++i)
{
scanf("%d",&p[i]);
if (SG[p[i]]) ++a;
}
if (a)
{
printf("Nargy\n");
printf("%d ",a);
for (i=0;i<K;++i)
if (SG[p[i]]) printf("%d %d ",p[i],SG[p[i]]);
printf("\n");
}
else printf("Fumeanu\n");
}
fclose(stdin);
fclose(stdout);
return 0;
}