Поиск по этому блогу

среда, 18 декабря 2019 г.

Решения задания С27 на Питоне задача 5

На городской олимпиаде по информатике участникам было предложено выполнить 3 задания, каждое из которых оценивалось по 25-балльной шкале. Известно, что общее количество участников первого тура олимпиады не превосходит 250 человек. На вход программы подаются сведения о результатах олимпиады. В первой строке вводится количество участников N. Далее следуют N строк, имеющих следующий формат:

<Фамилия> <Имя> <Баллы>
Здесь <Фамилия> – строка, состоящая не более чем из 20 символов; <Имя> – строка, состоящая не более чем из 15 символов; <Баллы> – строка, содержащая три целых числа, разделенных пробелом, соответствующих баллам, полученным участником за каждое задание первого тура. При этом <Фамилия> и <Имя>, <Имя> и <Баллы> разделены одним пробелом. Примеры входных строк:

Петрова Ольга 25 18 16

Калиниченко Иван 14 19 15

Напишите программу, которая будет выводить на экран фамилию и имя участника, набравшего максимальное количество баллов. Если среди остальных участников есть ученики, набравшие такое же количество баллов, то их фамилии и имена также следует вывести. При этом имена и фамилии можно выводить в произвольном порядке.

Решение:
print('Vv. kol-vo ')
n=int(input())
print('Vv. dannye')
a=[]
a=[0]*n
kb=0
mb=0
for i in range(n):
    s=input()
    s1=s[:s.find(' ')]
    s=s[s.find(' ')+1:]
    s2=s[:s.find(' ')]
    s=s[s.find(' ')+1:]
    s3=s[:s.find(' ')]
    s=s[s.find(' ')+1:]
    s4=s[:s.find(' ')]
    s=s[s.find(' ')+1:]
    kb=int(s)+int(s4)+int(s3)
    if mb<kb:
        mb=kb
    a[i]=s1+' '+s2+' '+str(kb)
for i in range(n):
    s=a[i]
    s1=s[s.rfind(' '):]
    if int(s1)==mb:
        print(s)

Комментариев нет:

Отправить комментарий