Cod sursa(job #1787997)

Utilizator GeanaVladGeana Vlad GeanaVlad Data 25 octombrie 2016 13:57:05
Problema Arbore Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <iostream>
#include<fstream>
#include<vector>
using namespace std;
ifstream f("arbore.in");
ofstream g("arbore.out");
int n,m,s,i,S[100001],p,x,y,t;
vector<int>v[100010];
int DFS(int nod,int x)
{
    if(x==s)
        return nod;
    int sz=v[nod].size();
    for(int k=0;k<sz;k++)
        DFS(v[nod][k],x+S[v[nod][k]]);
}
int main()
{
    f>>n>>m;
    for(i=1; i<n; i++)
    {
        f>>x>>y;
        v[x].push_back(y);
    }
    for(i=1; i<=m; i++)
    {
        f>>t;
        if(t==1)
        {
            f>>p>>s;
            S[p]+=s;
        }
        else
        {
            f>>s;
            g<<DFS(1,S[1])<<'\n';
        }
    }
}