Cod sursa(job #1335941)

Utilizator raulmuresanRaul Muresan raulmuresan Data 6 februarie 2015 09:19:29
Problema Stramosi Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.95 kb
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

const int Nmax = 250000 + 2;

vector <int> v[Nmax];
int lev[Nmax];
int tata[Nmax];
int n,m,i,x,y;
ifstream fin("stramosi.in");
ofstream fout("stramosi.out");
void dfs(int nod)
{
    int i;
    fout<<nod<<"\n";
    for(i=0;i<v[nod].size();i++)
    {
        if(tata[v[nod][i]]==0)
        {
            tata[v[nod][i]]=nod;
            dfs(v[nod][i]);
        }
    }
}


int main()
{
    fin>>n>>m;
    for(i=1;i<=n;i++)
    {
        fin>>tata[i];
        //v[x].push_back(i);
    }
    /*for(i=1;i<=n;i++)
    {
        if(tata[i]==0)
        {
            dfs(i);
            fout<<"\n";
        }
    }*/


    for(i=1;i<=m;i++)
    {
        fin>>x>>y;
        while(y>0)
        {
            y--;
            x=tata[x];
        }
        fout<<x<<"\n";
    }
    for(i=1;i<=n;i++)
    {
        //fout<<tata[i]<<" ";
    }
}