Итак, оказалось, что я неправильно поставил условия задачи. Авиалинии после стихийных бедствий портятся, но суть не в них, а в том, что правительство построило в некоторых городах центры гуманитарной помощи. Нужно доказать, что им нужно построить минимум 2 таких гуманитарных центров.
Упс! Это что-то совсем новенькое...
А исходная задача - ну, после уточнения насчет связности - вроде, вполне решабельна: жд-степень любой вершины не превышает 2 (иначе нарушается "если-то"). Компоненты жд-связности разбиваются на циклы и отрезки. Если в компоненте есть 4 ребра подряд, то она замыкается в цикл. Потому в компонентах - не более 5 вершин, и компонент не менее 20...
Вот только так - не будет. И . типа, 20 можно заменить на 33?