Pagini recente » Cod sursa (job #2256824) | Cod sursa (job #29257) | Cod sursa (job #466596) | Cod sursa (job #1333575) | Cod sursa (job #147696)
Cod sursa(job #147696)
#include <cstdio>
#include <vector>
#define dim 20001
using namespace std;
vector <int> G[dim];
int Sg[dim];
int T;
int N;
int M;
int A[dim];
void Df(int nd)
{
vector <int> :: iterator it;
for(it=G[nd].begin(); it!=G[nd].end(); ++it)
{
Df(*it);
if(!Sg[*it]) Sg[nd] = 1;
}
}
int main()
{
freopen("pioni.in", "rt", stdin);
freopen("pioni.out", "wt", stdout);
int x, y, i;
for(scanf("%d %d %d", &T, &N, &M); M; --M)
{
scanf("%d %d", &x, &y);
G[x].push_back(y);
}
for(i=1; i<=N; ++i) Df(i);
for(; T; --T)
{
A[0] = 0;
for(scanf("%d", &M); M; --M)
{
scanf("%d", &x);
if(Sg[x]) A[++A[0]] = x;
}
if(A[0])
{
printf("Nargy\n%d ",A[0]);
for(i=1; i<=A[0]; ++i)
for(vector <int> :: iterator it = G[A[i]].begin(); it!=G[A[i]].end(); ++it)
if(!Sg[*it])
{
printf("%d %d " , A[i], *it);
break;
}
printf("\n");
}
else printf("Fumeanu\n");
}
fclose(stdin);
fclose(stdout);
return 0;
}