Problem E. Problem E. TeaTree
时间限制 4000 ms
内存限制 512 MB
Recently, TeaTree acquire new knoledge gcd (Greatest Common Divisor), now she want to test you.
As we know, TeaTree is a tree and her root is node 1, she have n nodes and n-1 edge, for each node i, it has it’s value v[i].
For every two nodes i and j (i is not equal to j), they will tell their Lowest Common Ancestors (LCA) a number : gcd(v[i],v[j]).
For each node, you have to calculate the max number that it heard. some definition:
In graph theory and computer science, the lowest common ancestor (LCA) of two nodes u and v in a tree is the lowest (deepest) node that has both u and v as descendants, where we define each node to be a descendant of itself.
输入数据
输出数据
Your output should include n lines, for i-th line, output the max number that node i heard.
For the nodes who heard nothing, output -1.
样例输入
样例输出
$ Mathjax font initiator $