Pagini recente » Cod sursa (job #3290742) | Cod sursa (job #1076289) | Monitorul de evaluare | Cod sursa (job #133686) | Cod sursa (job #2718933)
#include <bits/stdc++.h>
using namespace std;
ifstream f("pioni.in");
ofstream g("pioni.out");
const int DIM = 20005;
bool vis[DIM], dp[DIM];
int nxt[DIM];
vector<int> edg[DIM], ans;
void dfs(int x)
{
if (vis[x])
return;
vis[x] = true;
for (int y : edg[x])
{
dfs(y);
if (!dp[y])
{
dp[x] = true;
nxt[x] = y;
}
}
}
int main(void)
{
int t, n, m;
f>>t>>n>>m;
for (int i = 1; i <= m; ++i)
{
int x, y;
f>> x >> y;
edg[x].push_back(y);
}
for (int i = 1; i <= n; ++i)
dfs(i);
while (t--)
{
ans.clear();
int k;
f>> k;
for (int i = 1; i <= k; ++i)
{
int x;
f>> x;
if (dp[x])
ans.push_back(x);
}
if (ans.size())
{
g<< "Nargy\n";
g<< ans.size() << " ";
for (int x : ans)
g<< x << " " << nxt[x] << " ";
g<< "\n";
}
else
g<< "Fumeanu\n";
}
return 0;
}