Untitled
unknown
c_cpp
2 years ago
972 B
5
Indexable
#include <bits/stdc++.h> #define ios ios::sync_with_stdio(false) ,cin.tie(0) , cout.tie(0) using namespace std ; const int maxn = 1e6+7; vector<int> adj[maxn] , vec; vector<pair<int,int>> p; bool mark[maxn]; int cnt , ans[maxn] ,q; int dfs(int u){ mark[u] = true; vec.push_back(u); for(int i = 0 ; i < q ; i++){ if(p[i].first == u) ans[i] = vec[vec.size()-p[i].second-1]; } for(auto w : adj[u]){ if(!mark[w]){ dfs(w); } } vec.pop_back(); } int main(){ ios; int n , a , b , u , v; cin >> n >> q; for(int i = 0 ; i < n ; i++){ cin >> u >> v; u--;v--; adj[u].push_back(v); adj[v].push_back(u); } for(int i = 0 ; i < q ; i++){ cin >> a >> b; a--; p.push_back({a , b}); } dfs(0); for(int i = 0 ; i < q ; i++){ cout << ans[i]+1 << '\n'; } return 0; }
Editor is loading...