Олимпиады по программированию olympiads.ru |
|
Заочный тур Московской городской олимпиады школьников по программированиюЗадача I. Деревни
В тридесятом государстве есть N деревень. Некоторые пары деревень соединены дорогами. В целях экономии, "лишних" дорог нет, т.е. из любой деревни в любую можно добраться по дорогам единственным образом. Новейшие исследования показали, что тридесятое государство находится в сейсмически опасной зоне. Поэтому глава государства захотел узнать, какой именно ущерб может принести его державе землетрясение. А именно, он хочет узнать, какое минимальное число дорог должно быть разрушено, чтобы образовалась изолированная от остальных группа ровно из P деревень такая, что из любой деревни из этой группы до любой другой деревни из этой группы по-прежнему можно будет добраться по неразрушенным дорогам (группа изолирована от остальных, если никакая неразрушенная дорога не соединяет деревню из этой группы с деревней не из этой группы). Вы должны написать программу, помогающую ему в этом. Формат входных данных Первая строка входного файла содержит два числа: N и P (1≤P≤N≤150). Все остальные строки содержат описания дорог, по одному на строке: описание дороги состоит из двух номеров деревень (от 1 до N), которые эта дорога соединяет. Все числа во входном файле разделены пробелами и/или переводами строки. Формат выходных данных В выходной файл выведите единственное число - искомое количество дорог. Примеры
Комментарий. Во втором примере группа деревень (1,2,3,6,7,8) окажется изолированной от остальных, если разрушить дороги 1-4 и 1-5. |