Pagini recente » Cod sursa (job #853113) | Cod sursa (job #2532770) | Cod sursa (job #722498) | Cod sursa (job #1881593) | Cod sursa (job #697774)
Cod sursa(job #697774)
#include <fstream>
#include <vector>
using namespace std;
#define dim 50005
int t, n, m;
int f[20000], viz[200000], win[20000], mut[20000];
vector <int> v[dim];
int dfs(int nod)
{
viz[nod]=1;
for(int k=0;k<v[nod].size();++k)
{
if(viz[v[nod][k]]==0)
dfs(viz[v[nod][k]]);
if(win[v[nod][k]]==0)
{
win[nod]=1;
f[nod]=v[nod][k];
}
}
}
int main()
{
ifstream fin("pioni.in");
ofstream fout("pioni.out");
int i,a , b;
fin>>t >>n >>m;
for(i=1;i<=m;++i)
{
fin>>a >>b;
v[a].push_back(b);
}
for(i=1;i<=n;++i)
if(viz[i]==0)
dfs(i);
int q,k,j;
for(;t;--t)
{
int nrm=0;
fin>>k;
for(i=1;i<=k;++i)
{
fin>>q;
if(win[q])
mut[++nrm]=q;
}
if(!nrm)
fout<<"Fumeanu" <<'\n';
else
{
fout<<"Nargy" <<'\n' <<nrm <<" ";
for(j=1;j<=nrm;++j)
fout<<mut[j] <<" " <<f[mut[j]] <<" ";
fout<<'\n';
}
}
return 0;
}