K Path Query Solution | KPATHQRY | CODECHEF JULY CHALLENGE
You’re given a tree with NN vertices numbered from 11 to NN. Your goal is to handle QQ queries. For each query you are given KK nodes v1,v2,…,vKv1,v2,…,vK. Find if there exists a simple path in the tree covering all the given vertices.
- The first line contains a single integer TT — the number of test cases. The description of TT test cases follows.
- The first line of each test case contains a single integer NN.
- Each of the following N−1N−1 lines contains two integers uu and vv denoting an edge between nodes uu and vv.
- The next line contains a single integer QQ — the number of queries.
- The next QQ lines describe queries. The ii-th line describes the ii-th query and starts with the integer KiKi — the number of vertices in the current query. Then KiKi integers follow: v1,v2,…,vKiv1,v2,…,vKi.
For each query print “YES” (without quotes) if there exists a simple path in the tree covering all the given nodes, otherwise print “NO” (without quotes).
You may print each character of the string in uppercase or lowercase (for example, the strings “yEs”, “yes”, “Yes” and “YES” will all be treated as identical).
- 1≤Ki≤N1≤Ki≤N for each valid ii.
- The edges form a valid tree.
- All vertices in a single query are distinct.
- the sum of NN over all test cases does not exceed 2⋅1052⋅105.
- For each test case, the sum of KiKi over all queries does not exceed 105105.
Subtask #1 (100 points): Original constraints
3 6 2 4
4 2 3 4 5
The structure of the given tree is shown below.
- For the first query the path will be 4−2−1−3−64−2−1−3−6.
- For the second query there is no simple path that covers all the given vertices.
Due to copyright issues we won’t be able to update the solution here immediately. However you can download the code file from our telegram channel. So join our telegram channel for further updates. Keep tracking, the solution will be updated on this website soon.
Read More Post Here