Pagini recente » Cod sursa (job #3126666) | Cod sursa (job #2985673) | Cod sursa (job #3002601) | Borderou de evaluare (job #165722) | Cod sursa (job #2310275)
#include <bits/stdc++.h>
#define N 20005
using namespace std ;
ifstream fin("pioni.in") ;
ofstream fout("pioni.out") ;
vector<int> graf[N] ;
int dp[N] , n , k , tt[N] ;
bitset<N> bt ;
vector<int> sol;
void citire()
{
int m , x , y , i ;
fin >> k >> n >> m ;
for ( i = 1 ; i <= m ; i++ )
{
fin >> x >> y ;
graf[x].push_back(y) ;
}
}
void dfs(int nod)
{
bt[nod] = 1 ;
for ( auto vec : graf[nod] )
{
if ( bt[vec] == 0 )
dfs(vec) ;
if ( dp[vec] == 0 )
{
dp[nod] = 1 ;
tt[nod] = vec ;
}
}
}
int main()
{
int i , x , y ,j;
citire() ;
for ( i = 1 ; i <= n ; i++ )
if ( bt[i] == 0 )
dfs(i) ;
for ( i = 1 ; i <= k ; i++ )
{
fin >> x ;
sol.clear() ;
for ( j = 1 ; j <= x ; j++ )
{
fin >> y ;
if ( dp[y] )
sol.push_back(y) ;
}
if ( sol.size() == 0 )
fout << "Fumeanu" << '\n' ;
else
{
fout << "Nargy" << '\n' ;
fout << sol.size() << " " ;
for ( auto vec : sol )
fout << vec << " " << tt[vec] << " " ;
fout << '\n' ;
}
}
}