Cod sursa(job #1653887)

Utilizator refugiatBoni Daniel Stefan refugiat Data 16 martie 2016 17:51:41
Problema Pioni Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.29 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <bitset>
using namespace std;
ifstream si("pioni.in");
ofstream so("pioni.out");
vector<int>v[20005];
bitset<20005> cast;
int demut[20005];
bool verif(int x)
{
    bool cas=false;
    int n=v[x].size();
    bool q;
    for(int i=0;i<n;++i)
    {
        q=verif(v[x][i]);
        cas=(cas||!q);
        if(q==false)
            demut[x]=v[x][i];
    }
    return cas;
}
int mutat[20005];
int main()
{
    int q;
    si>>q;
    int n,m;
    si>>n>>m;
    int i,a,b;
    for(i=0;i<m;++i)
    {
        si>>a>>b;
        v[a].push_back(b);
    }
    for(i=1;i<=n;++i)
    {
        cast[i]=verif(i);
    }
    int x;
    while(q--)
    {
        si>>x;
        b=0;
        for(i=0;i<x;++i)
        {
            si>>a;
            if(cast[a])
            {
                ++b;
                mutat[a]++;
            }
        }
        if(b)
        {
            so<<"Nargy\n"<<b<<' ';
            for(i=1;i<=n;++i)
            {
                while(mutat[i]--)
                {
                    so<<i<<' '<<demut[i]<<' ';
                }
                mutat[i]=0;
            }
        }
        else
            so<<"Fumeanu";
        so<<'\n';
    }
    return 0;
}