В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
elena1alekseevna
elena1alekseevna
24.03.2022 11:17 •  Информатика

Как известно, обычно штаны состоят из двух штанин. однако собачке нужны, например, уже штаны из 5 штанин (для 4-х лап и хвоста), а сороконожке – штаны с 40 штанинами. у пети живет зверь, у которого m лап. иногда – когда на улице особенно холодно, чтобы зверь не простудился, на него бывает нужно надеть несколько штанов, чтобы на каждой лапе было надето по несколько штанин. петина мама оставила пете n штанов, имеющих соответственно k1, k2, …, kn штанин, наказав ему надеть на зверя их все. петя хочет надеть на зверя штаны так, чтобы на самой «утепленной» лапе оказалось как можно меньше штанин, но при этом все оставленные мамой штаны были надеты на зверя. любые штаны можно надевать на любой набор лап (каждая лапа встречается в наборе не более одного раза). ему – напишите программу, которая для каждых штанов укажет, на какие лапы должны быть надеты их штанины. имейте в виду, что две штанины одних и тех же штанов не могут быть надеты на одну и ту же лапу (в то время как штанины разных штанов могут быть надеты на одну и ту же лапу). входные данные вводится сначала число m, а затем число n (1 ≤ m ≤ 100, 1 ≤ n ≤ 100). далее вводятся n чисел ki, обозначающих число штанин у оставленных мамой штанов (1 ≤ ki ≤ m). выходные данные выведите n строк, в i-ой строке должно быть выведено ki различных чисел, обозначающих номера лап зверя, на которые должны быть надеты штанины i-ых штанов. лапы зверя нумеруются натуральными числами от 1 до m. если искомых ответов несколько, то выведите любой из них

Показать ответ
Ответ:
krokodilol
krokodilol
08.10.2020 08:17
# # Код на ruby 2.2.3p173
def wearTrousersOnTheBeast(m, ks)
  leg = 0
  ks.each { |k|
    if not k.between?(1,m)
      puts "Неправильные штаны #{k}"
      next
    end

    legs = []
    for i in 1..k
      leg = (leg + 1 > m) ? 1 : leg + 1
      legs << leg
    end
    p legs
  }
end
# # # Примеры применения
wearTrousersOnTheBeast(4, [2,4,3,1,5])
wearTrousersOnTheBeast(10, [2,4,3,1,5])
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота