Cod sursa(job #2349190)

Utilizator patcasrarespatcas rares danut patcasrares Data 20 februarie 2019 11:29:43
Problema Pioni Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.21 kb
#include<fstream>
#include<vector>
#include<iostream>
#define x first
#define y second
#define pb push_back
using namespace std;
ifstream fin("pioni.in");
ofstream fout("pioni.out");
const int DN=3e4+5;
int t,n,m,f,g,nr,dp[2][DN],viz[DN],k,vf;
pair<int,int>a[DN];
vector<int>v[DN];
void dfs(int nod)
{
    viz[nod]=1;
    for(auto i:v[nod])
    {
        if(!viz[i])
            dfs(i);
        if(!dp[0][i])
        {
            dp[0][nod]=1;
            dp[1][nod]=i;
        }
    }
}
int main()
{
    fin>>t>>n>>m;
    while(m--)
    {
        fin>>f>>g;
        v[f].pb(g);
    }
    for(int i=1;i<=n;i++)
        if(!viz[i])
            dfs(i);
    while(t--)
    {
        fin>>k;
        vf=0;
        nr=0;
        while(k--)
        {
            fin>>f;
            if(dp[0][f])
            {
                vf=1;
                nr++;
                a[nr]={f,dp[1][f]};
            }
        }
        if(!vf)
        {
            fout<<"Fumeanu";
            fout<<'\n';
            continue;
        }
        fout<<"Nargy"<<'\n';
        fout<<nr<<' ';
        for(int i=1;i<=nr;i++)
            fout<<a[i].x<<' '<<a[i].y<<' ';
        fout<<'\n';
    }
}