n узлов с номерами от 0 до n − 1, корень — узел 0. Рёбра заданы массивом links: пара [u, v] означает, что узлы u и v соединены. У каждого узла i есть метка labels[i].
Два числа **взаимно просты**, если их наибольший общий делитель равен 1. **Предки** узла — все узлы на пути от него до корня, не считая самого узла.
Для каждого узла i найдите ближайшего к нему предка, метка которого взаимно проста с labels[i]. Верните массив длины n, где на позиции i стоит номер этого предка или -1, если такого нет.labels=[3, 4, 9, 10], links=[[0, 1], [1, 2], [2, 3]] → [-1, 0, 1, 2]
Узел 1 (4) взаимно прост с корнем (3). Узел 2 (9) взаимно прост со своим родителем — узлом 1 (4). У узла 3 (10) и узла 2 (9) нет общих делителей, кроме 1, поэтому ответ — 2.
labels=[6, 2, 4, 3], links=[[0, 1], [1, 2], [0, 3]] → [-1, -1, -1, -1]
У узла 1 (2) единственный предок — корень (6), у них общий делитель 2. Узел 2 (4) имеет общий делитель 2 и с узлом 1, и с корнем. Узел 3 (3) и корень (6) делятся на 3. Поэтому ни у кого подходящего предка нет.
labels=[1], links=[] → [-1]
labels=[3, 4, 9, 10], links=[[0, 1], [1, 2], [2, 3]]
[-1, 0, 1, 2]
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 26 тестов на сервере, включая скрытые.