n перекрёстков с номерами от 0 до n - 1 и двусторонние дороги roads, где roads[i] = [u, v, w] — дорога между u и v с весом w. Между двумя перекрёстками может быть несколько дорог.
Маршрут — это последовательность дорог, где каждая следующая начинается там, где закончилась предыдущая. По одной дороге и через один перекрёсток можно проходить сколько угодно раз. Стоимость маршрута — побитовое AND весов всех пройденных дорог.
Для каждого запроса queries[j] = [s, t] найдите минимальную стоимость маршрута из s в t, а если добраться нельзя, ответ -1. Верните ответы в порядке запросов.n=4, roads=[[0, 1, 6], [1, 2, 3], [2, 0, 7]], queries=[[0, 2], [1, 3]] → [2, -1]
Из 0 в 2 выгодно пройти по всем трём дорогам (0 → 1 → 2 → 0 → 2): 6 AND 3 AND 7 = 2. Перекрёсток 3 ни с чем не соединён, поэтому второй ответ -1.
n=5, roads=[[0, 1, 12], [3, 4, 5], [3, 4, 9]], queries=[[1, 0], [4, 3], [2, 4]] → [12, 1, -1]
Между 0 и 1 одна дорога весом 12. Между 3 и 4 две дороги, и маршрут может пройти по обеим: 5 AND 9 = 1. Перекрёсток 2 изолирован.
n=4, roads=[[0, 1, 6], [1, 2, 3], [2, 0, 7]], queries=[[0, 2], [1, 3]]
[2, -1]
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 92 теста на сервере, включая скрытые.