Дан неориентированный граф, в котором каждое ребро покрашено либо в чёрный цвет, либо в красный цвет.
Ваша задача присвоить каждой вершине по вещественному числу таким образом, что:
Если это не возможно, выведите, что не существует такого комплекта чисел.
Первая строка содержит два целых числа $$$N$$$ ($$$1 \leq N \leq 100\,000$$$) и $$$M$$$ ($$$0 \leq M \leq 200\,000$$$): количество вершин и рёбер, соответственно. Вершины пронумерованы последовательными числами $$$1, 2, \ldots, N$$$.
Следующие $$$M$$$ строк содержат описание рёбер. Каждая строка содержит три целых числа $$$a$$$, $$$b$$$ и $$$c$$$, которые обозначают, что между вершинами $$$a$$$ и $$$b$$$ ($$$1 \leq a, b \leq N$$$) есть ребро цвета $$$c$$$ ($$$1$$$ обозначает чёрное, $$$2$$$ обозначает красное).
Если решение существует, выведите в первой строке слово «YES» и во второй строке выведите $$$N$$$ чисел. Для каждого $$$i$$$ ($$$1 \le i \le N$$$), $$$i$$$-е из этих чисел должно равняться числу, присвоенному вершине с номером $$$i$$$.
Вывод должен соответствовать следующим ограничениям точности:
Если существует несколько решений, выведите любое из них.
Если решения не существует, выведите одно слово «NO».
Подзадачи:
4 4 1 2 1 2 3 2 1 3 2 3 4 1
YES 0.5 0.5 1.5 -0.5
2 1 1 2 1
YES 0.3 0.7
3 2 1 2 2 2 3 2
YES 0 2 0
3 4 1 2 2 2 2 1 2 1 1 1 2 2
NO
Примите во внимание, что во втором примере решение не уникальное.
Название |
---|