profile
Размещено 2 года назад по предмету Информатика от Maish

Задача Е. Алиса и команда
Имя входного файла:
Имя выходного файла:
Ограничение по времени:
Ограничение по памяти:
Казахстан, 12 марта, 2023
Великий Алижан как староста курса просит красавиц Алису и Даяну создать лучшую команду
курса для хакатона. По правилам хакатона нужно создать команду ровно из 4 людей и для каж-
дого определить одну роль. Невозможно участвовать в разработке проекта без: фронтенд, бэкенд,
мобильного разработчика и дизайнера. Всего с курса отозвались и людей, -й из которых имеет уро-
вень front,,backi, mobile,, design, в соответствующей сфере. Сила команды определяется как сумма
уровней всех участководы в выбранных для них ролях. Так как красавица Алиса упорно
решает задачи с Leetcode, а красавица Даяна помогает студентам они просят вас разобраться с
задачей.
6
17 7 10 1
15 18 4 9
6 21 23 13
13 8 2 17
19 12 21 12
6 19 20 20
стандартный ввод
стандартный вывод
2 секунды
256 мегабайт
Формат входных данных
Входные данные состоят числа студентов и (4 5 и 10²). Далее идут в строк состоящие из
front,, backi, mobile,, design, для i-го студента. (0 < front,, backi, mobile,, design, < 10").
Формат выходных данных
Посчитайте силу лучшей команды курса.
Пример
стандартный ввод
80
стандартный выпол
Замечание
В первом примере: на фронтенд нужно взять 5го
мобильную разработку зго дизайнером 6го человека.
fronts+backz + mobiles + designs - 19 + 18 + 23 + 20 - 80.
"
человока Ha бженд 2го, на
Сила такой команды будет

  1. Ответ на вопрос
    Ответ на вопрос дан sme41691

    n = int(input())

    levels = [[0, 0] for _ in range(4)] # список для каждой роли, [сумма уровней, номер студента]

    for i in range(n):

    skills = list(map(int, input().split()))

    for j in range(4):

    levels[j][0] += skills[j]

    if skills[j] > levels[j][1]:

    levels[j][1] = skills[j]

    levels.sort(reverse=True) # сортируем по убыванию суммы уровней

    team_levels = sum(l[1] for l in levels[:4]) # выбираем первые 4 элемента и складываем их уровни

    print(team_levels)

    В этом примере команда должна состоять из студентов с навыками: backi у 3-го студента, mobile у 4-го студента, design у 6-го студента и front у 5-го студента. Их суммарные уровни равны 23 + 17 + 20 + 27 = 87.

    1. Ответ на вопрос
      Ответ на вопрос дан master32wsp
      Мой тоже так может
      n = int(input())
      students = []
      for i in range(n):
      front, back, mobile, design = map(int, input().split())
      students.append((front, back, mobile, design))

      students.sort(key=lambda x: max(x), reverse=True)

      best_team = []
      for skill_type in range(4):
      best_student = students[0]
      for student in students:
      if student[skill_type] > best_student[skill_type]:
      best_student = student
      best_team.append(best_student[skill_type])

      print(sum(best_team))
  2. Ответ на вопрос
    Ответ на вопрос дан master32wsp

    У меня закончились идеи как сделать это без 4-х форов, так что вот этот код наверняка привысит лимит по времени, но может быть хоть сколько то баллов наберёт:

    n = int(input())

    students = []

    for i in range(n):

       student = tuple(map(int, input().split()))

       students.append(student)

    max_strength = 0

    for f in range(n):

       for b in range(n):

           for m in range(n):

               for d in range(n):

                   if len(set((f, b, m, d))) == 4:  # Убеждаемся, что участники не совпадают

                       strength = students[f][0] + students[b][1] + students[m][2] + students[d][3]

                       max_strength = max(max_strength, strength)

    print(max_strength)

    Самое близкое к правде, что я придумал это код без 4-х проходов, но он выдаёт 83, а не 80 на твоём примере.

    1. Ответ на вопрос
      Ответ на вопрос дан master32wsp
      Тут наверное надо за помощью не в знания обращаться, а куда нибудь посерьёзнее, задание не простое
Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 6 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.