AHK <3
-
Автор темы
- #1
Задача 1: Автобусные остановки
Автобусные остановки расположены через каждые K метров от начала улицы, то есть на расстоянии 0, K, 2K, 3K и т.д. метров от начала. Света прошла от начала улицы N метров, после чего устала и захотела сесть на автобус. Определите, сколько метров нужно пройти Свете до ближайшей остановки.
Входные данные
Программа получает на вход два целых числа K и N, записанных в отдельных строках. 1 ≤ K ≤ 2×109, 1 ≤ N ≤ 2×109.
Выходные данные
Программа должна вывести одно целое число — расстояние до ближайшей остановки.
Система оценивания
Решение, правильно работающее только для случаев, когда числа K и N не превосходят 10000, будет оцениваться в 60 баллов.
Пример
Задача 2: Наборы пирожных
На складе кондитерской фабрики хранятся пирожные двух видов — круассаны и эклеры. Круассанов A штук, а эклеров — B штук. Есть неограниченный запас подарочных коробок, в каждую коробку можно положить только три пирожных. При этом требуется, чтобы в коробке были пирожные обоих видов, то есть в одну коробку можно положить два круассана и один эклер или один круассан и два эклера.
Определите, можно ли упаковать все имеющиеся пирожные в коробки и выведите подходящий способ размещения пирожных по коробкам.
Входные данные
Программа получает на вход два целых числа A и B, записанных в отдельных строках. 1 ≤ A ≤ 109, 1 ≤ B ≤ 109.
Выходные данные
Если можно разложить все пирожные по коробкам в соответствии с условием задачи, программа должна вывести два целых числа. Первое число равно количеству коробок, в которых лежит два круассана и один эклер. Второе число равно количеству коробок, в которых лежит один круассан и два эклера.
Если разложить все пирожные по коробкам нужным способом нельзя, программа должна вывести одно число −1.
Система оценивания
Решение, правильно работающее только для случаев, когда числа A и B не превосходят 100, будет оцениваться в 60 баллов.
Примеры
Задача 3: Мирные ладьи
На шахматной доске размером N × N расставлено N шахматных ладей не бьющих друг друга, то есть на каждой вертикали и каждой горизонтали стоит ровно одна ладья.
Шахматную доску повернули на 90° по часовой стрелке. Выведите получившуюся расстановку ладей.
Входные данные
Первая строка входных данных содержит целое число N, 1 ≤ N ≤ 105 — размер доски. Следующие N строк содержат по одному числу от 1 до N, а именно, в i-й строке записано число ai — номер вертикали, в которой стоит ладья на i-й горизонтали. В этой задаче горизонтали нумеруются числами от 1 до N сверху вниз, вертикали нумеруются числами от 1 до N слева направо (см. рисунок).
Выходные данные
Программа должна вывести N чисел — расстановку ладей после поворота в таком же формате.
Система оценивания
Решение, правильно работающее только для случаев, когда N ≤ 5, будет оцениваться в 30 баллов.
Решение, правильно работающее только для случаев, когда N ≤ 5, будет оцениваться в 60 баллов.
Пример
Задача 4: Таблица
Бесконечную таблицу, строки и столбцы которой пронумерованы целыми числами начиная с 1 сверху вниз и слева направо, заполняют целыми числами 1, 2, 3 и т.д. Числа выписываются в соседние клетки по границам квадратов увеличивающегося размера (см. рисунок).
Дано число n, определите номер строки и номер столбца, в котором окажется это число.
Входные данные
Программа получает на вход одно целое число n, 1 ≤ n ≤ 1018.
Обратите внимание, что значение n может быть больше, чем возможное значение 32-битной целочисленной переменной, поэтому необходимо использовать 64-битные числа (тип int64 в языке Pascal, тип long long в C и C++, тип long в Java и C#).
Выходные данные
Программа должна вывести два целых числа: номер строки и номер столбца, в которых находится число n в этой таблице. Запись выводимых чисел должна содержать только цифры, вывод действительных чисел в ответе считается неверным.
Система оценивания
Решение, правильно работающее только для случаев, когда n ≤ 100, будет оцениваться в 20 баллов.
Решение, правильно работающее только для случаев, когда n ≤ 104, будет оцениваться в 40 баллов.
Решение, правильно работающее только для случаев, когда n ≤ 109, будет оцениваться в 60 баллов.
Пример
Если сможете решить любую из, буду благодарен
Автобусные остановки расположены через каждые K метров от начала улицы, то есть на расстоянии 0, K, 2K, 3K и т.д. метров от начала. Света прошла от начала улицы N метров, после чего устала и захотела сесть на автобус. Определите, сколько метров нужно пройти Свете до ближайшей остановки.
Входные данные
Программа получает на вход два целых числа K и N, записанных в отдельных строках. 1 ≤ K ≤ 2×109, 1 ≤ N ≤ 2×109.
Выходные данные
Программа должна вывести одно целое число — расстояние до ближайшей остановки.
Система оценивания
Решение, правильно работающее только для случаев, когда числа K и N не превосходят 10000, будет оцениваться в 60 баллов.
Пример
Ввод | Вывод | Пояснение |
---|---|---|
600 2000 | 200 | Остановки расположены на расстоянии 0, 600, 1200, 1800 и т.д. метров. Света прошла 2000 метров, до ближайшей остановки нужно идти 200 метров. |
Задача 2: Наборы пирожных
На складе кондитерской фабрики хранятся пирожные двух видов — круассаны и эклеры. Круассанов A штук, а эклеров — B штук. Есть неограниченный запас подарочных коробок, в каждую коробку можно положить только три пирожных. При этом требуется, чтобы в коробке были пирожные обоих видов, то есть в одну коробку можно положить два круассана и один эклер или один круассан и два эклера.
Определите, можно ли упаковать все имеющиеся пирожные в коробки и выведите подходящий способ размещения пирожных по коробкам.
Входные данные
Программа получает на вход два целых числа A и B, записанных в отдельных строках. 1 ≤ A ≤ 109, 1 ≤ B ≤ 109.
Выходные данные
Если можно разложить все пирожные по коробкам в соответствии с условием задачи, программа должна вывести два целых числа. Первое число равно количеству коробок, в которых лежит два круассана и один эклер. Второе число равно количеству коробок, в которых лежит один круассан и два эклера.
Если разложить все пирожные по коробкам нужным способом нельзя, программа должна вывести одно число −1.
Система оценивания
Решение, правильно работающее только для случаев, когда числа A и B не превосходят 100, будет оцениваться в 60 баллов.
Примеры
Ввод | Вывод | Пояснение |
---|---|---|
4 5 | 1 2 | Нужно взять одну коробку с двумя круассанами и одним эклером и две коробки с одним круассаном и двумя эклерами. Всего получится 4 круассана и 5 эклеров. |
5 3 | −1 | Разложить пирожные по коробкам нельзя. |
Задача 3: Мирные ладьи
На шахматной доске размером N × N расставлено N шахматных ладей не бьющих друг друга, то есть на каждой вертикали и каждой горизонтали стоит ровно одна ладья.
Шахматную доску повернули на 90° по часовой стрелке. Выведите получившуюся расстановку ладей.
Входные данные
Первая строка входных данных содержит целое число N, 1 ≤ N ≤ 105 — размер доски. Следующие N строк содержат по одному числу от 1 до N, а именно, в i-й строке записано число ai — номер вертикали, в которой стоит ладья на i-й горизонтали. В этой задаче горизонтали нумеруются числами от 1 до N сверху вниз, вертикали нумеруются числами от 1 до N слева направо (см. рисунок).
Выходные данные
Программа должна вывести N чисел — расстановку ладей после поворота в таком же формате.
Система оценивания
Решение, правильно работающее только для случаев, когда N ≤ 5, будет оцениваться в 30 баллов.
Решение, правильно работающее только для случаев, когда N ≤ 5, будет оцениваться в 60 баллов.
Пример
Ввод | Вывод | Пояснение |
---|---|---|
5 4 2 3 5 1 | 1 4 3 5 2 | Пример соответствует рисункам. Первоначально ладьи стояли в столбцах 4, 2, 3, 5, 1 при перечислении их по строкам сверху вниз. После поворота ладьи стоят в столбцах 1, 4, 3, 5, 2. |
Задача 4: Таблица
Бесконечную таблицу, строки и столбцы которой пронумерованы целыми числами начиная с 1 сверху вниз и слева направо, заполняют целыми числами 1, 2, 3 и т.д. Числа выписываются в соседние клетки по границам квадратов увеличивающегося размера (см. рисунок).
Дано число n, определите номер строки и номер столбца, в котором окажется это число.
Входные данные
Программа получает на вход одно целое число n, 1 ≤ n ≤ 1018.
Обратите внимание, что значение n может быть больше, чем возможное значение 32-битной целочисленной переменной, поэтому необходимо использовать 64-битные числа (тип int64 в языке Pascal, тип long long в C и C++, тип long в Java и C#).
Выходные данные
Программа должна вывести два целых числа: номер строки и номер столбца, в которых находится число n в этой таблице. Запись выводимых чисел должна содержать только цифры, вывод действительных чисел в ответе считается неверным.
Система оценивания
Решение, правильно работающее только для случаев, когда n ≤ 100, будет оцениваться в 20 баллов.
Решение, правильно работающее только для случаев, когда n ≤ 104, будет оцениваться в 40 баллов.
Решение, правильно работающее только для случаев, когда n ≤ 109, будет оцениваться в 60 баллов.
Пример
Ввод | Вывод |
---|---|
15 | 4 2 |
Если сможете решить любую из, буду благодарен