Pagini recente » Cod sursa (job #2799169) | Cod sursa (job #907235) | Cod sursa (job #2921795) | Cod sursa (job #2343150) | Cod sursa (job #141744)
Cod sursa(job #141744)
using namespace std;
#include<cstdio>
#include<vector>
#define Nm 20001
#define Km 30000
int A[Km],Win[Nm],t,n;
vector<int> G[Nm];
void read()
{
int m,x,y;
freopen("pioni.in","r",stdin);
scanf("%d%d%d",&t,&n,&m);
while(m--)
{
scanf("%d%d",&x,&y);
G[x].push_back(y);
}
}
void DFS(int x)
{
vector<int>::iterator it;
for(it=G[x].begin();it!=G[x].end();++it)
if(!Win[*it])
DFS(*it);
Win[x]=-1;
for(it=G[x].begin();it!=G[x].end();++it)
if(Win[*it]==-1)
Win[x]=*it;
}
void solve()
{
int i;
for(i=1;i<=n;++i)
if(!Win[i])
DFS(i);
}
void write()
{
int k,i,j;
freopen("pioni.out","w",stdout);
while(t--)
{
scanf("%d",&k);
for(j=i=0;i<k;++i)
{
scanf("%d",A+i);
if(Win[A[i]]>0)
++j;
}
if(j)
{
printf("Nargy\n%d",j);
for(i=0;i<k;++i)
if(Win[A[i]]>0)
printf(" %d %d",A[i],Win[A[i]]);
printf("\n");
}
else
printf("Fumeanu\n");
}
}
int main()
{
read();
solve();
write();
return 0;
}