Pagini recente » Cod sursa (job #108469) | Cod sursa (job #3032203) | Cod sursa (job #2747294) | Cod sursa (job #345719) | Cod sursa (job #431660)
Cod sursa(job #431660)
#include<cstdio>
#include<vector>
using namespace std;
int t,n,m,win,l,s[20010],a[30010];
bool f[20010];
vector<int> v[20010];
void dfs(int i)
{
f[i]=true;
for(vector<int>::iterator it=v[i].begin();it!=v[i].end();it++)
if(!f[*it])
dfs(*it);
for(vector<int>::iterator it=v[i].begin();it!=v[i].end();it++)
if(s[*it]==0)
{
s[i]=*it;
break;
}
}
int main()
{
freopen("pioni.in","r",stdin);
freopen("pioni.out","w",stdout);
scanf("%d%d%d",&t,&n,&m);
for(int i=1;i<=m;i++)
{
int x,y;
scanf("%d%d",&x,&y);
v[x].push_back(y);
}
for(int i=1;i<=n;i++)
if(!f[i])
dfs(i);
for(int j=1;j<=t;j++)
{
scanf("%d",&l);
win=0;
for(int i=1;i<=l;i++)
{
scanf("%d",&a[i]);
if(s[a[i]])
win++;
}
if(win==0)
printf("Fumeanu\n");
else
{
printf("Nargy\n");
printf("%d ",win);
for(int i=1;i<=l;i++)
if(s[a[i]])
printf("%d %d ",a[i],s[a[i]]);
printf("\n");
}
}
return 0;
}