Поле в игре «Речной бой» представляет собой полоску длины n
клеток и шириной в одну клетку. Где‑то на поле расположен корабль из k
клеток (k≤n
). Какое наименьшее число выстрелов необходимо, чтобы гарантированно потопить корабль? После каждого выстрела сообщается его результат: «мимо», «ранен» или «убит».
Формат входных данных
Первая строка входных данных содержит целое число n
(1≤n≤109
). Вторая строка входных данных содержит целое число k
(1≤k≤n
).
Ввод
Вывод
4
2
3
PASCAL
python
n = int(input()) # считываем длину поля
k = int(input()) # считываем длину корабля
if k == 1 or k == 2:
# если длина корабля равна 1 или 2, достаточно сделать один выстрел
shots = 1
else:
# во всех остальных случаях достаточно сделать 3 выстрела
shots = 3
print(shots)
В данном коде мы считываем длину поля n и длину корабля k с помощью функции `input()`. Затем мы применяем описанную выше стратегию, чтобы определить количество выстрелов, необходимых для гарантированного потопления корабля, и выводим этот результат с помощью функции `print()`.
Например, при входных данных `4` и `2` код выведет `1`, что означает, что для гарантированного потопления корабля достаточно сделать 1 выстрел.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет