Cod sursa(job #2921201)

Utilizator Adelin2003Adelin Andrei Adelin2003 Data 28 august 2022 14:31:55
Problema Stramosi Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <fstream>
#include <vector>
#include <iostream>
#include <queue>
using namespace std;
ifstream f("in.txt");
ofstream g("out.txt");
const int N = 100005;
int n, m, p, q,x;
bool vizitat[N];
vector <int> Muchii[N];
void DFS(int Nod)
{
    vizitat[Nod] = 1;
    if(Nod!=p)
        q--;
    if (q == 0)
        g << Nod << endl;
    else
    {
        for (unsigned int i = 0; i < Muchii[Nod].size(); i++)
        {
            int vecin = Muchii[Nod][i];
            if (!vizitat[vecin])
                DFS(vecin);
        }
    }
}
void citire()
{
    f >> n >> m;
    for (int i = 1; i <= n; i++)
    {
        f >> x;
        if (x != 0)
        {
            Muchii[x].push_back(i);
            Muchii[i].push_back(x);
        }
    }
    for (unsigned int i = 1; i <= m; i++)
    {
        f >> p >> q;
        DFS(p);
    }
}
int main()
{
    citire();
    return 0;
}