Вопрос задан 13.04.2021 в 15:22. Предмет Информатика. Спрашивает Майкенова Анастасия.

В Тридевятом царстве завершился чемпионат лесорубов. Правила определения победителя следующие:

победителем считается тот лесоруб, который срубил за сутки наибольшее количество деревьев. А если таких лесорубов несколько, то победителем становится тот из них, кто при этом сделал как можно меньше ударов. Известно, что ни у каких двух лесорубов нет абсолютно одинакового результата. Требуется написать программу, которая принимает на вход список участников, для каждого из которых задано его имя, а также то, сколько деревьев и за какое суммарное количество ударов он срубил, и выводит имя победителя.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Мосиенко Егор.
Var n,pi,ti,max,min,i:integer;
name,m_name:string;
begin
readln(n);
max:=0; min:=5000;
for i:=1 to n do
 begin
 readln(name);
 readln(pi,ti);
 if pi>max
  then begin m_name:=name; max:=pi; min:=ti; end
  else if pi=max 
         then if ti<min then begin m_name:=name; max:=pi; min:=ti; end;
 end;
writeln(m_name);
end.

Пример:
4
John
10 123
Ringo
10 144
George
11 156
Paul
11 160
George
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Привет! Я могу помочь с написанием программы на Python для определения победителя чемпионата лесорубов.

Для начала, мы можем запросить у пользователя количество участников и создать пустой список, в который мы будем добавлять информацию о каждом лесорубе:

python
num_participants = int(input("Введите количество участников: ")) participants = []

Затем мы можем использовать цикл for для заполнения списка информацией о каждом лесорубе. Для каждого участника мы будем запрашивать его имя, количество срубленных деревьев и количество ударов:

python
for i in range(num_participants): name = input("Введите имя участника: ") trees = int(input("Введите количество срубленных деревьев: ")) hits = int(input("Введите количество ударов: ")) participants.append((name, trees, hits))

Мы используем кортежи для хранения информации об участниках - имя, количество срубленных деревьев и количество ударов.

Теперь, чтобы определить победителя, мы можем сортировать список участников по убыванию количества срубленных деревьев, а затем по возрастанию количества ударов. Первый участник в отсортированном списке будет победителем:

python
participants.sort(key=lambda x: (-x[1], x[2])) winner = participants[0][0] print("Победитель чемпионата лесорубов: ", winner)

Мы используем лямбда-функцию в качестве ключа сортировки - сначала сортируем по убыванию количества деревьев (отрицательный знак перед x[1] означает сортировку по убыванию), а затем по возрастанию количества ударов (x[2]).

Это полный код программы:

python
num_participants = int(input("Введите количество участников: ")) participants = [] for i in range(num_participants): name = input("Введите имя участника: ") trees = int(input("Введите количество срубленных деревьев: ")) hits = int(input("Введите количество ударов: ")) participants.append((name, trees, hits)) participants.sort(key=lambda x: (-x[1], x[2])) winner = participants[0][0] print("Победитель чемпионата лесорубов: ", winner)

Я надеюсь, что эта программа поможет вам определить победителя чемпионата лесорубов!

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос