Мое решение и первого теста не проходит.
С чего начать и в какую степь думать?
Сама задача:
В некотором городе однажды выпал снег. Неожиданно выяснилось, что вся снегоуборочная техника находится на ремонте, и для расчистки улиц было решено привлечь тяжёлые гусеничные бульдозеры.
Задача осложняется тем, что асфальтовое покрытие улиц может выдержать только один проход такого бульдозера.
Город представляет из себя N площадей и M отрезков улиц между ними. Бульдозер может начинать расчистку с любой площади, и не должен ехать по уже расчищенным улицам (но может проезжать уже расчищенные площади). Если бульдозер оказывается на площади, все улицы которой уже расчищены, бульдозерист считает свой рабочий день законченным, бросает бульдозер и уходит.
Требуется определить минимально необходимое число бульдозеров.
Ввод
Входной файл содержит числа N и M за которыми идут M пар чисел ai bi –- номера площадей, соединенных i-й улицей (по улице, соединяющей площади ai и bi, можно проехать либо из ai и bi, либо из bi в ai). Две площади могут быть соединены больше чем одной улицей.
Вывод
В выходной файл должно быть выведено единственное число – наименьшее количество бульдозеров, необходимых для расчистки всех дорог и площадей города по указанным выше правилам.
Ограничения
2 ≤ N ≤ 40 000,1 ≤ M ≤ 40 000, 1 ≤ ai, bi ≤ N
читай про эйлеров цикл
задача сводится к подсчёту степеней вершин
>>бросает бульдозер и уходит
А бульдозер потом будут на вертолете транспортировать, потому что дороги он уже разбил :)
Надо найти путь по которому он прочистит все дороги и вернется туда откуда выехал.