Pagini recente » Borderou de evaluare (job #1731161) | Cod sursa (job #840578) | Cod sursa (job #1516454) | Cod sursa (job #796172) | Cod sursa (job #2165376)
#include <bits/stdc++.h>
using namespace std;
ifstream f("pioni.in");
ofstream g("pioni.out");
int t,n,m,x,y,k,S[1<<15];
bool viz[1<<15],win[1<<15];
vector <int> G[1<<15];
void dfs(int x)
{
viz[x]=1;
for(int i=0;i<(int)G[x].size();++i)
{
if(!viz[G[x][i]]) dfs(G[x][i]);
if(!win[G[x][i]])
{
win[x]=1;
S[x]=G[x][i];
}
}
}
int main()
{
f>>t>>n>>m;
while(m--)
{
f>>x>>y;
G[x].push_back(y);
}
for(int i=1;i<=n;++i)
if(!viz[i]) dfs(i);
while(t--)
{
f>>k;
vector <int> sol;
for(int i=1;i<=k;++i)
{
f>>x;
if(win[x]) sol.push_back(x);
}
if(!sol.size()) g<<"Fumeanu\n";
else
{
g<<"Nargy\n"<<sol.size()<<' ';
for(int i=0;i<(int)sol.size();++i)
g<<sol[i]<<' '<<S[sol[i]]<<' ';
g<<'\n';
}
}
return 0;
}