printРабочее место участника

printЗадачи

139. Fiat lux!

Ограничения: время – 2s/4s, память – 32MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Сэм решил украсить дом к Рождеству иллюминацией. Он соединил проводами несколько ламп и подключил их к электросети. Затем Сэм повернул рубильник, и весь район погрузился в темноту.
Напишите программу, которая определит, используя информацию о выполненных соединениях, произойдет ли короткое замыкание при включении рубильника. Сопротивление соединительных проводов считать нулевым.
В первой строке входного файла содержатся два целых числа, разделенных пробелами – количество ламп `N` (`1\ ≤\ N\ ≤\ 100`) и количество проводов `K` (`1\ ≤\ K\ ≤\ 1000`). Далее следует K строк, в каждой строке сначала указывается номер элемента (0 для электросети, от 1 до `N` для лампы), к которому был присоединен один из концов провода, потом через пробел – номер контакта 1 или 2 (все элементы имеют два контакта), затем указывается элемент и контакт, к которому был присоединен другой конец провода, в том же формате.
В выходной файл в первой строке вывести сообщение "YES", если произойдет короткое замыкание (ситуация, в которой существует цепь от одного контакта электросети до другого, не содержащая нагрузки – ламп), или сообщение "NO", если короткого замыкания не будет.

Пример ввода

3 4
0 1 1 1
1 2 2 1
2 2 0 2
1 2 0 2

Вывод для примера

NO
loading