Pagini recente » Cod sursa (job #402426) | Cod sursa (job #1169634) | Cod sursa (job #1730798) | Cod sursa (job #3287280) | Cod sursa (job #2875624)
#include <bits/stdc++.h>
#define DIM 20010
using namespace std;
vector <int> L[DIM],v,sol;
int viz[DIM],g[DIM],dp[DIM],nxt[DIM];
int n,m,t,k,x,y,i;
void dfs (int nod){
viz[nod] = 1;
for (auto vecin : L[nod])
if (!viz[vecin])
dfs (vecin);
v.push_back(nod);
}
int main (){
ifstream cin ("pioni.in");
ofstream cout ("pioni.out");
cin>>t>>n>>m;
for (i=1;i<=m;i++){
cin>>x>>y;
L[x].push_back(y);
g[y]++;
}
for (i=1;i<=n;i++)
if (!g[i])
dfs (i);
for (auto nod : v){
for (auto vecin : L[nod])
if (!dp[vecin]){
dp[nod] = 1; /// stare de castig in punctul asta
nxt[nod] = vecin;
}
}
for (;t--;){
cin>>k;
sol.clear();
for (i=1;i<=k;i++){
cin>>x;
if (dp[x]){
sol.push_back(x);
sol.push_back(nxt[x]);
}
}
if (sol.empty())
cout<<"Fumeanu\n";
else {
cout<<"Nargy\n";
cout<<sol.size()/2<<" ";
for (auto it : sol)
cout<<it<<" ";
cout<<"\n";
}
}
return 0;
}