Sharю
11.09.2021 20:26

A. Перестроение
ограничение по времени на тест: 1 секунда
ограничение по памяти на тест :256 мегабайт
ввод: стандартный ввод
вывод: стандартный вывод

Солдаты выстроились на плацу в виде прямоугольника из M шеренг по N человек в шеренге: за первой шеренгой – вторая, за второй – третья и т.д.
Потом все шеренги выстроились в одну длинную шеренгу по порядку – первая шеренга, вторая, третья и т.д.
Затем эту длинную шеренгу разбили на K шеренг равной длины и снова построили в виде прямоугольника.
Требуется узнать, в какой шеренге и каким по счёту в этой шеренге оказался после перестроения солдат, который до перестроения был j-м по счёту в i-й шеренге.

Входные данные
В единственной строке входного файла записаны натуральные числа M, N, K, i, j, разделённые пробелом (1≤i≤M≤106,1≤j≤N≤106,1≤K≤109).

Выходные данные
В единственной строке выходного файла должны быть записаны два натуральных числа, разделённые пробелом, - номер шеренги, в которой оказался солдат после перестроения, и его порядковый номер в этой шеренге.
Нумерация шеренг и солдат в шеренге идет с 1.

Пример
входные данные
3 4 2 2 3
выходные данные
2 1

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
nickieivanov
10.01.2022 02:21

1) для перевода из 10-й в двоичную 2-ую систему счисления нужно число в десятичной системе разделить на 2 и записать остаток , затем тоже самое сделать с целой часть и повторять пока не останется только 1 или 0. конечное числом будут остатки записанные в обратном порядке.

1450/ 2 = 725 остаток 0

725 / 2 = 362 остаток 1

362 / 2 = 181 остаток 0

181 / 2 = 90 остаток 1

90 / 2 = 45 остаток 0

45/ 2 = 22 остаток1

22/2 = 11 остаток 0

11/ 2 = 5 остаток 1

5 / 2 = 2 остаток 1

2 / 2 = 1 остаток 0

1 / 2 = 0 остаток 1

 

результат: 10110101010

 

в 2-х байтовой ячеке всего 16 разрядов, а в наше числе 11 , значит спереди нужно дописать 5 нулей и получим нужное представление

0000010110101010

 

2)

для перевода в 16 систему нужно сначало перевести в 2-ю систему счисления, потом записать обратный код, почитать дополнительный и тогда перевести в 16-ю

вот 1450 в 2-й системе

0000010110101010

обратный код это код в котором все 0 заменены на 1, а 1 на 0

1111101001010101

чтобы получит дополнительный код нужно прибавить 1

1111101001010110

теперь смотрим по 4 разряда и заменяем 1 символом в 16 системе счисления

1111 = f

1010 = a

0101 = 5

0110 = 6

искомое число fa56

3)

  для перевода из 16 в 2 систему счисления нужно каждую цифру числа умножит на 16 в степень равным номеру цифры(справа на лево, отсчет с 0)

f67d(в 16 системе счисления) = 15 * 16 ^3 + 6 * 16 ^2 + 7 * 16^1 + 13 * 16 ^0 = 61440 + 1536 + 112 + 13 = 63101(в 10 системе счисления)

0,0(0 оценок)
Ответ:
Dormin
20.05.2022 12:27

Номер 1

использовать Робот

алг

нач

нц пока сверху свободно

вверх

кц

нц пока сверху стена

закрасить

влево

кц

нц пока сверху не стена

влево

кц

нц пока сверху стена

закрасить

влево

кц

вверх

вправо

нц пока снизу стена

закрасить

вправо

кц

нц пока снизу не стена

вправо

кц

нц пока снизу стена

закрасить

вправо

кц

кон

Номер 2

использовать Робот

алг

нач

нц пока сверху стена

закрасить

влево

кц

вправо

нц пока сверху стена

если справа не свободно то

вправо

все

если справа свободно то

вправо

если сверху стена то

закрасить

все

все

кц

влево

нц пока снизу не стена

вниз

кц

нц пока слева не стена и снизу стена

закрасить

влево

кц

кон

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота