Сергей_Крутикова114
?>

Какое из слов подходит под следующее условие: третья буква гласная ∧ первая буква «р» 1) радуга 2) рама 3) ржаной 4) знак обосновать выбор

Информатика

Ответы

diana-020
ответ 3 ржаной первая Р третья а
info-mosbalkon

Очевидно, решения нет, если нужно выпустить ровно K = NM - 1 человека: он должен перейти в какую-то комнату, но из всех комнат, кроме его, есть путь наружу.

При всех остальных K можно, например, поступить так:

- отсчитать сверху и слева направо K комнат, в них открыть дверь вверх

- в оставшихся комнатах, не находящихся в нижнем ряду, открыть путь вниз

- в оставшихся комнатах нижнего ряда, кроме правого нижнего угла, открыть дверь вправо

- в правом нижнем углу, если там ещё не открыта дверь, открыть дверь влево

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

Код (python 3):

N, M, K = map(int, input().split())

if K == N * M - 1:

   print("IMPOSSIBLE")

elif K == N * M:

   for _ in range(N):

       print("U" * M)

else:

   for _ in range(K // M):

       print("U" * M)

   if K // M < N - 1:

       print("U" * (K % M) + "D" * (M - K % M))

       for __ in range(N - 1 - K // M):

           print("D" * M)

       print("R" * (M - 1) + "L")

   else:

       print("U" * (K % M) + "R" * (M - K % M - 1) + "L")

baltgold-m27

Очевидно, решения нет, если нужно выпустить ровно K = NM - 1 человека: он должен перейти в какую-то комнату, но из всех комнат, кроме его, есть путь наружу.

При всех остальных K можно, например, поступить так:

- отсчитать сверху и слева направо K комнат, в них открыть дверь вверх

- в оставшихся комнатах, не находящихся в нижнем ряду, открыть путь вниз

- в оставшихся комнатах нижнего ряда, кроме правого нижнего угла, открыть дверь вправо

- в правом нижнем углу, если там ещё не открыта дверь, открыть дверь влево

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

Код (python 3):

N, M, K = map(int, input().split())

if K == N * M - 1:

   print("IMPOSSIBLE")

elif K == N * M:

   for _ in range(N):

       print("U" * M)

else:

   for _ in range(K // M):

       print("U" * M)

   if K // M < N - 1:

       print("U" * (K % M) + "D" * (M - K % M))

       for __ in range(N - 1 - K // M):

           print("D" * M)

       print("R" * (M - 1) + "L")

   else:

       print("U" * (K % M) + "R" * (M - K % M - 1) + "L")

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Какое из слов подходит под следующее условие: третья буква гласная ∧ первая буква «р» 1) радуга 2) рама 3) ржаной 4) знак обосновать выбор
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

foto5113161
Олег86
krisrespect
alexander4590
myudanova631
in-1973
sky-elena712558
mmreznichenko
srgymakarov
mdclcompany
fox-cab3444
vera-spicina
Чунихина1586
abramovae
rykovatv6