Pagini recente » Cod sursa (job #2620127) | Cod sursa (job #3213933) | Cod sursa (job #2476275) | Cod sursa (job #2971609) | Cod sursa (job #134134)
Cod sursa(job #134134)
#include <stdio.h>
#include <string.h>
#include <vector>
using namespace std;
#define NMax 20005
int T, N, M, K, sg[NMax], to[NMax], v[30005];
vector<int> G[NMax];
void det(int nod)
{
int i, sz, x;
if (sg[nod] != -1)
return ;
sg[nod] = 0;
for (sz = G[nod].size(), i = 0; i < sz && !sg[nod]; i++)
{
det(x = G[nod][i]);
if (!sg[x])
sg[nod] = 1, to[nod] = x;
}
}
int main(void)
{
int i, j;
freopen("pioni.in", "r", stdin);
freopen("pioni.out", "w", stdout);
scanf("%d %d %d", &T, &N, &M);
for (; M; M--)
{
scanf("%d %d", &i, &j);
G[i].push_back(j);
}
memset(sg, -1, sizeof(sg));
for (i = 1; i <= N; i++)
det(i);
for (; T; T--)
{
scanf("%d", &K);
for (i = 1; i <= K; i++)
scanf("%d", &v[i]);
for (i = 1, j = 0; i <= K; i++)
j += sg[v[i]];
if (j)
{
printf("Nargy\n%d", j);
for (i = 1; i <= K; i++)
if (sg[v[i]])
printf(" %d %d", v[i], to[v[i]]);
printf("\n");
}
else
printf("Fumeanu\n");
}
return 0;
}