e-olimp 1610. Зайцы в клетках

Зайцы в клетках

Всем известен, так называемый, принцип Дирихле, который формулируется следующим образом:

Предположим, что некоторое число кроликов рассажены в клетках. Если число кроликов больше, чем число клеток, то хотя бы в одной из клеток будет больше одного кролика.

В данной задаче мы рассмотрим более общий случай этого классического математического факта. Пусть имеется [latex]n[/latex] клеток и [latex]m[/latex] зайцев, которых рассадили по этим клеткам. Вам требуется расcчитать максимальное количество зайцев, которое гарантированно окажется в одной клетке.

Входные данные

В одной строке заданы два натуральных числа [latex]n[/latex] и [latex]m[/latex] [latex](1 ≤ n, m ≤ 10^9)[/latex].

Выходные данные

Максимальное количество зайцев, которое гарантированно окажется в одной клетке.

Тесты

Входные данные Выходные данные
3 50 17
5 5 1
1070 589 1
34 49 2

Код программы

Решение задачи

Пусть [latex]n[/latex] — количество клеток, и [latex]m[/latex] — количество зайцев.
Найдем отношение [latex]\frac{m}{n}[/latex]. Если это отношение больше либо равно единице то [latex]{m}\geq{n}[/latex] и мы имеем ответ. [latex]\frac{(m+n-1)}{n}[/latex] — это формула выводит ответ в целом виде, если он целый, и округляет в большую сторону, если он дробный. Иначе [latex]{m}\leq{n}[/latex] и максимальное гарантированное количество зайцев в одной клетке равно единице. Это следует из условия задачи.

Условие задачи на e-olimp
Код решения ideon

Related Images:

5 thoughts on “e-olimp 1610. Зайцы в клетках

    • Вы абсолютно правы. Её можно решить и без условных операторов.
      Это моя ошибка, что я записал её в раздел с ветвлением, хотя она на одно действие.
      Надеюсь Кирилл догадается.

    • И в решении и в пояснении Вы всё усложняете отказываясь пользоваться операцией «больше либо равно». Вы с ней поссорились? Миритесь быстрее. Найдите, как она выглядит в коде и в формулах.
    • Если Вы проверили на ==, а потом на >, то единственное, что остается это <. Его не нужно проверять.
    • Во всех случаях Вы делаете cout << k. Может не нужно его вставлять во все условия?
    • Проблемы с отступами для меня полная загадка. текстовый редактор их ставит сам, но у студентов они часто оказываются неправильными. Видимо, они трудолюбиво удаляют или добавляют пробелы и табуляции в начало строк.
    • Вас не смущает, что в ключевых словах нет ни одной клетки или зайца? И даже ни одного Дирихле 🙂
      В качестве эпитимии сделайте слово «Дирихле» гиперссылкой на страницу Википедии об этом великом ученом.
    • С делением Вы тоже поссорились? Будете везде заменять его многократными вычитаниями? Это не метод.

Добавить комментарий