Pagini recente » Cod sursa (job #1783757) | Cod sursa (job #2129916) | Cod sursa (job #2707881) | Cod sursa (job #2753815) | Cod sursa (job #1019682)
#include <iostream>
#include <cstdio>
#include <vector>
using namespace std;
vector <int> graf[20010];
bool viz[20010];
int muta[20010];//muta==0=>pierzator altfel =>iti da nodul in care trebuie sa muti
int sol[30010];
void dfs(int x)
{
viz[x]=1;
for(auto i : graf[x])
{
if(!viz[i])
{
dfs(i);
}
if(!muta[i])
muta[x]=i;
}
}
int main()
{
freopen("pioni.in","r",stdin);
freopen("pioni.out","w",stdout);
int t,n,m,a,b,k,nr;
cin>>t>>n>>m;
while(m--)
{
cin>>a>>b;
graf[a].push_back(b);
}
for(int i=1;i<=n;i++)
if(!viz[i])
dfs(i);
while(t--)
{
int gasit=0;
cin>>k;
while(k--)
{
cin>>nr;
if(muta[nr])
sol[++gasit]=nr;
}
if(!gasit)
cout<<"Fumeanu";
else
{
cout<<"Nargy\n"<<gasit<<" ";
for(int i=1;i<=gasit;i++)
cout<<sol[i]<<" "<<muta[sol[i]]<<" ";
}
cout<<"\n";
}
return 0;
}