Pagini recente » Cod sursa (job #205504) | Cod sursa (job #1176529) | Cod sursa (job #1941215) | Cod sursa (job #2486068) | Cod sursa (job #171799)
Cod sursa(job #171799)
#include <cstdio>
#include <vector>
using namespace std;
#define MAXN 20015
#define pb push_back
int N, M, T;
int K;
int poz[2*MAXN];
int stare[MAXN];
int Move[MAXN];
vector <int> lv[MAXN];
void play (int i)
{
if (stare[i] != -1)
return;
stare[i] = 0;
int j, sz;
for (j = 0, sz = lv[i].size(); j < sz; ++ j)
{
play (lv[i][j]);
if (!stare[lv[i][j]])
{
stare[i] = 1;
Move[i] = lv[i][j];
break;
}
}
}
void read ()
{
int i, x, y;
scanf (" %d %d %d", &T, &N, &M);
for (i = 1; i <= M; ++ i)
{
scanf (" %d %d", &x, &y);
lv[x].pb(y);
}
memset (stare, -1, sizeof (stare));
for (i = 1; i <= N; ++ i)
play (i);
}
void solve ()
{
scanf (" %d", &K);
int i, Nr = 0;
for (i = 1; i <= K; ++ i)
{
scanf (" %d", poz + i);
Nr += stare[poz[i]];
}
if (!Nr) printf ("Fumeanu\n");
else
{
printf ("Nargy\n%d", Nr);
for (i = 1; i <= K; ++ i)
if (stare[poz[i]]) printf (" %d %d", poz[i], Move[poz[i]]);
printf ("\n");
}
}
int
main ()
{
freopen ("pioni.in", "rt", stdin);
freopen ("pioni.out", "wt", stdout);
read ();
while (T--) solve ();
return 0;
}