Pagini recente » Cod sursa (job #2406073) | Cod sursa (job #245399) | Cod sursa (job #99591) | Cod sursa (job #938764) | Cod sursa (job #1121263)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream in("lca.in");
ofstream out("lca.out");
const int N=1+1e6;
int n,m,t[N];
struct Nod{
int x,d;
Nod(int a, int b){
x=a;
d=b;
}
};
vector<Nod> v;
void dfs(int x, int d){
v.push_back(Nod(x,d));
for(int i=2 ; i<=n ; i++){
if(t[i]==x){
dfs(i,d+1);
v.push_back(Nod(x,d));
}
}
}
int main()
{
int x,y,j,ix,iy,il,min;
in>>n>>m;
t[1]=0;
for(int i=2 ; i<=n ; i++){
in>>t[i];
}
dfs(1,0);
for(int i=1 ; i<=m ; i++){
ix=iy=0;
in>>x>>y;
for(j=0 ; j<v.size() ; j++){
if(!ix && v[i].x==x){
ix=j;
il=j;
}
if(ix && v[i].)
}
}
return 0;
}