Untitled
unknown
c_cpp
2 years ago
973 B
4
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[maxn]; bool mark[maxn]; int cnt , ans[maxn] ,q; void dfs(int u){ mark[u] = true; vec.push_back(u); for(auto w : adj[u]){ if(!mark[w]){ dfs(w); } } for(int i = 0 ; i < p[u].size() ; i++){ ans[p[u][i].first]= vec[vec.size()-p[u][i].second-1]; } 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[a].push_back({i , b}); } dfs(0); for(int i = 0 ; i < q ; i++){ cout << ans[i]+1 << '\n'; } return 0; }
Editor is loading...