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

printЗадачи

1577. Экономная маршрутизация

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

`N` компьютеров нужно объединить в сеть. Для этого можно использовать маршрутизаторы. Каждый маршрутизатор имеет `K` "нисходящих" разъемов и один "восходящий" разъем. К каждому нисходящему разъему можно подключить компьютер или другой маршрутизатор. Восходящий разъем служит для подключения маршрутизатора к нисходящему разъему другого маршрутизатора.
Передача данных от одного компьютера к другому возможна, если существует цепочка маршрутизаторов, соединенных друг с другом, такая, что один компьютер подключен к первому маршрутизатору цепочки, а другой – к последнему.
Напишите программу, вычисляющую наименьшее количество маршрутизаторов, необходимое для получения сети, по которой данные могут быть переданы от любого компьютера к любому другому.
Во входном файле находятся два целых числа – `N` `K` (`2\ ≤\ N,\ K\ ≤\ 2^31-1`).
Выходной файл должен содержать единственное целое число – минимальное количество маршрутизаторов.

Пример ввода 1

4 2

Пример вывода 1

3

Пример ввода 2

2 3

Пример вывода 2

1
Источник: http://imcs.dvgu.ru/cats/ Школьники ACM, 2010
loading