lcdnek198
09.02.2020 09:52

Решение нужно на PascalABC.NET

Лифт в N-этажном доме может перевозить одновременно не более L человек. Расстояние между этажами он проезжает за T секунд. Время на остановку на любом этаже с посадкой пассажира в лифт составляет P секунд. В начальный момент времени лифт без людей находится на последнем этаже (номер N). Одновременно K человек нажимают кнопки вызова на разных K этажах выше первого с целью уехать на 1-й этаж. Лифт едет вниз, останавливаясь на тех этажах, где была нажата кнопка вызова. При каждой остановке входит один человек. Если лифт заполнен, то дальше он едет без остановок. Требуется определить, через какой промежуток времени лифт доедет до первого этажа, а также номер самого высокого из этажей, на которых еще остались люди. Известно, что в течение всего времени новых вызовов или отмены вызовов не происходит.

Формат ввода:
Вначале вводятся целые числа N, L, T, P, K (1≤ N ≤100, 4≤ L ≤12, 1≤ T ≤10, 1≤ P ≤10, 1≤ K ≤100), затем K чисел от N до 2 каждое – номера этажей, с которых был сделан вызов, в порядке убывания.

Формат вывода
Выведите два целых числа: в первой строке количество секунд, через которое лифт доедет на 1-й этаж, во второй строке – номер самого высокого из тех этажей, на которых еще остались люди или NO, если в лифт поместились все желающие.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
kuryachelenaozmgnz
21.04.2023 22:20
Видать расписать как для робота схему поведения
чем подробней тем лучше, например

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

как то так.. степень подробности выбирайте сами
0,0(0 оценок)
Ответ:
jullii55
23.07.2020 19:16
// F#
// 1.
[<EntryPoint>]
let main argv =
    let mutable x = System.Console.ReadLine() |> System.Double.Parse
    if x > 0.0
        then x <- x+5.0
    printf "%f" x
    System.Console.ReadKey true |> ignore
    0
// 2.
// F#
[<EntryPoint>]
let main argv =
    let mutable x = System.Console.ReadLine() |> System.Double.Parse
    let mutable y = System.Console.ReadLine() |> System.Double.Parse
    if x > y
        then x <- x*4.0; y <- y+4.0;
        else y <- y*4.0; x <- x+4.0;
    printf "x: %f\ny: %f" x y
    System.Console.ReadKey true |> ignore
    0
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота