-
Автор темы
- #1
Задача 1: Путешествие поездом
Класс, в котором учится Дима, отправляется в путешествие! И, конечно же, ребята поедут поездом, в плацкартном вагоне, причём не в обычном, а в инновационном — в нём целых 11 плацкартных «купе»! Получив свой билет, Дима задумался, как можно быстро определять тех, кто едет в конкретном плацкартном «купе», а также на боковых местах, расположенных строго напротив этого «купе».
Помогие Диме определить по номеру «купе» расположенные в нём места, а также боковые места, расположенные строго напротив него (для лучшего понимания внимательно изучите рисунок).
Входные данные
В первой строке входных данных содержится целое число K (1 ≤ K ≤ 11) — номер «купе», интересующий Диму.
Выходные данные
Выведите шесть целых чисел в порядке возрастания — места, расположенные в соответствующем «купе» и строго напротив него.
Система оценки
В этой задаче 10 тестов, не считая теста из условия. За каждый пройденный тест будет начисляться 10 баллов.
Примеры
Файл с решением задачи на C++:
Сложность алгоритма - O(1).
Время решения: 7 минут.
Идея алгоритма:
Класс, в котором учится Дима, отправляется в путешествие! И, конечно же, ребята поедут поездом, в плацкартном вагоне, причём не в обычном, а в инновационном — в нём целых 11 плацкартных «купе»! Получив свой билет, Дима задумался, как можно быстро определять тех, кто едет в конкретном плацкартном «купе», а также на боковых местах, расположенных строго напротив этого «купе».
Помогие Диме определить по номеру «купе» расположенные в нём места, а также боковые места, расположенные строго напротив него (для лучшего понимания внимательно изучите рисунок).
Входные данные
В первой строке входных данных содержится целое число K (1 ≤ K ≤ 11) — номер «купе», интересующий Диму.
Выходные данные
Выведите шесть целых чисел в порядке возрастания — места, расположенные в соответствующем «купе» и строго напротив него.
Система оценки
В этой задаче 10 тестов, не считая теста из условия. За каждый пройденный тест будет начисляться 10 баллов.
Примеры
Ввод | Вывод |
---|---|
2 | 5 6 7 8 63 64 |
Файл с решением задачи на C++:
Пожалуйста, авторизуйтесь для просмотра ссылки.
.Сложность алгоритма - O(1).
Время решения: 7 минут.
Идея алгоритма:
Исходя из здравого смысла, несложно понять, что первый номер в купе будет равняться 4 * K - 3, причем последний номер - 4 * K.
Если считать номера боковых мест от единицы, то на K-ом месте будут пассажиры с номерами K * 2 - 1 и K * 2. Поскольку их нумерация начинается с последнего места в вагоне, то мы должны превратить формулу первого места в 66 - (K * 2 - 1) = 67 - K*2 = 65 - (K - 1)*2.
Последнее редактирование: