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

пятница, 14 февраля 2020 г.

С27 задача 10 на Питоне

В молочных магазинах города Х продается сметана с жирностью 15, 20 и 25 процентов. В городе X был проведен мониторинг цен на сметану. Напишите эффективную по времени работы и по используемой памяти программу, которая будет определять для каждого вида сметаны, сколько магазинов продают ее дешевле всего. На вход программе сначала подается число магазинов N. В каждой из следующих N строк находится информация в следующем формате:

<Фирма> <Улица> <Жирность> <Цена>
где <Фирма> – строка, состоящая не более, чем из 20 символов без пробелов, <Улица> – строка, состоящая не более, чем из 20 символов без пробелов, <Жирность> – одно из чисел – 15, 20 или 25, <Цена> – целое число в диапазоне от 2000 до 5000, обозначающее стоимость одного литра сметаны в копейках. <Фирма> и <Улица>, <Улица> и <Жирность>, а также <Жирность> и <Цена> разделены ровно одним пробелом. Пример входной строки:

Перекресток Короленко 25 3200
Программа должна выводить через пробел 3 числа – количество магазинов, продающих дешевле всего сметану с жирностью 15, 20 и 25 процентов. Если какой-то вид сметаны нигде не продавался, то следует вывести 0.

Пример выходных данных:

12 10 0

Решение
n=int(input())
g15=[]
g15=[0]*2
g20=[]
g20=[0]*2
g25=[]
g25=[0]*2
for i in range(n):
    s1=input()
    p = s1.index(' ')
    s1 = s1[p+1:]
    p = s1.index(' ')
    s1 = s1[p+1:]
    p = s1.index(' ')
    g = int(s1[:p+1])
    s1 = s1[p+1:]
    c = int(s1)
    if g==15:
        if g15[0]==0:
            g15[0]=c
            g15[1]=1
        elif g15[0]==c:
            g15[1]+=1
        elif g15[0]>c:
            g15[0]=c
            g15[1]=1
    if g==20:
        if g20[0]==0:
            g20[0]=c
            g20[1]=1
        elif g20[0]==c:
            g20[1]+=1
        elif g20[0]>c:
            g20[0]=c
            g20[1]=1
    if g==25:
        if g25[0]==0:
            g25[0]=c
            g25[1]=1
        elif g25[0]==c:
            g25[1]+=1
        elif g25[0]>c:
            g25[0]=c
            g25[1]=1
print(g15[1],' ',g20[1],' ',g25[1])

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

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