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

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

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



Привет! Я могу помочь с написанием программы на Python для определения победителя чемпионата лесорубов.
Для начала, мы можем запросить у пользователя количество участников и создать пустой список, в который мы будем добавлять информацию о каждом лесорубе:
pythonnum_participants = int(input("Введите количество участников: "))
participants = []
Затем мы можем использовать цикл for
для заполнения списка информацией о каждом лесорубе. Для каждого участника мы будем запрашивать его имя, количество срубленных деревьев и количество ударов:
pythonfor i in range(num_participants):
name = input("Введите имя участника: ")
trees = int(input("Введите количество срубленных деревьев: "))
hits = int(input("Введите количество ударов: "))
participants.append((name, trees, hits))
Мы используем кортежи для хранения информации об участниках - имя, количество срубленных деревьев и количество ударов.
Теперь, чтобы определить победителя, мы можем сортировать список участников по убыванию количества срубленных деревьев, а затем по возрастанию количества ударов. Первый участник в отсортированном списке будет победителем:
pythonparticipants.sort(key=lambda x: (-x[1], x[2]))
winner = participants[0][0]
print("Победитель чемпионата лесорубов: ", winner)
Мы используем лямбда-функцию в качестве ключа сортировки - сначала сортируем по убыванию количества деревьев (отрицательный знак перед x[1]
означает сортировку по убыванию), а затем по возрастанию количества ударов (x[2]
).
Это полный код программы:
pythonnum_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)
Я надеюсь, что эта программа поможет вам определить победителя чемпионата лесорубов!


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