Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 3, 2017 21:14:49

ann_beggin
Зарегистрирован: 2017-10-27
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите решить задачу. Найти большее из меньших

У меня получилось что-то такое

 roads=int(input())
number_of_the_road=0
fir=0
num=0
res=0
maximum=0
for i in range(roads):
    tonn=int(input())
    for j in range(tonn):
        hight=int(input())
        if maximum==0:
            maximum=hight
        elif maximum>hight:
            maximum=hight
    if maximum>0:
        if maximum>fir:
            res=maximum
        if maximum<fir:
            res=fir
    fir=maximum        
print(num,res)
Никак не понимаю как запомнить номер дороги и вообще сравнить.
Вот задача:
Ваша компания занимается грузоперевозками в Швейцарских Альпах. Вам нужно доставить груз из пункта A в пункт Z на большом грузовике. Из A в Z ведёт несколько дорог, каждая из которых проходит через несколько туннелей известной высоты. Выясните максимальную высоту, которую может иметь ваш грузовик.

Формат ввода
На первой строке вводится количество дорог.
Затем для каждой дороги вводится (на отдельных строках) количество туннелей и высота каждого туннеля (точнее, максимально допустимая высота грузовика) в сантиметрах.

Формат вывода
Два целых числа: номер дороги (начиная нумерацию с единицы), по которой нужно проехать, чтобы высота грузовика была наибольшей, и сама эту высота.

Гарантируется, что ответ однозначный.

Пример
Ввод
2
3
470
430
465
2
451
450
Вывод
2 450

Отредактировано ann_beggin (Ноя. 3, 2017 21:16:06)

Офлайн

#2 Ноя. 3, 2017 22:54:56

Romissevd
От: Счастье
Зарегистрирован: 2015-03-01
Сообщения: 533
Репутация: +  76  -
Профиль   Отправить e-mail  

Помогите решить задачу. Найти большее из меньших

 best_road = ()
roads = int(input('Roads: '))
for road in range(1, roads+1):
    tunnels = int(input('Tunnels: '))
    height = int(input('Height: '))
    for tunnel in range(tunnels-1):
        height_ent = int(input('Height: '))
        if height > height_ent:
            height = height_ent
    if not best_road:
        best_road = (road, height)
    else:
        if best_road[1] < height:
            best_road = (road, height)
print(best_road)

Отредактировано Romissevd (Ноя. 3, 2017 22:55:48)

Офлайн

#3 Ноя. 4, 2017 07:55:31

marvellik
Зарегистрирован: 2016-05-15
Сообщения: 639
Репутация: +  73  -
Профиль   Отправить e-mail  

Помогите решить задачу. Найти большее из меньших

можно без условий сразу выбрать минимальную высоту тонеля для каждой дороги а потом из всех вывести максимальную и номер дороги

 road_num = []
for road in range(1,int(input())+1):  
    road_num.append([road,min([int(input()) for _ in range(int(input()))])])
print( *(max(road_num ,key = lambda x : x[1] )))

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version