Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.11.2020, 23:38   #1
Osy
Новичок
Джуниор
 
Регистрация: 03.11.2020
Сообщений: 1
Сообщение Помогите пожалуйста с решением задачи.

Здравствуйте. Помогите пожалуйста решить задачу. Мой код самой задаче

Код:
n = int(input())
b =[]
c =[]
for i in range(n):
    s,t = map(int,input().split())
    b.append(s)
    b.append(t)
    c.append(min(s,t))
    c.append(max(s,t))
a = set(b)
b = list(a)
b.sort()
a = []
for i in range(len(b)):
    j = c.index(b[i])
    if (j+1) % 2 != 0:
        a.append(b[i])
    if len(a) + len(a) == len(c):
        b = a
        break
i = 0
k = 0
b.append(0)
while len(c)!=0:
    maxi = max(b)
    j = c.index(maxi)
    if (j+1)%2 == 0:
        j-=1
    if len(b) != 2:
        for i in range(0,len(c),2):
            z = c.count(b[0])
            if z >=2:
                if (b[0] == c[i]) and (c[i+1] < maxi):
                    maxi = c[i+1]
                    l = c[i]
                    j = i
                elif (b[0] == c[i+1]) and (c[i] < maxi):
                    maxi = c[i]
                    l = c[i+1]
                    j = i
                    print(2, maxi)
            else:
                if (b[0] == c[i]):
                    maxi = c[i+1]
                    j = i
                    l = c[i]
                    break
                elif b[0] == c[i+1]:
                    maxi = c[i]
                    j = i
                    l = c[i+1]
                    break
    else:
        maxi = min(c)
        if maxi > l:
            maxi = max(c)
    b.pop(0)
    k += maxi
    c.pop(j)
    c.pop(j)
print(k)
Помогите пожалуйста с решением.Тест задачи проходит, а на сайте нет
Изображения
Тип файла: jpg 1.jpg (85.7 Кб, 0 просмотров)
Osy вне форума Ответить с цитированием
Старый 04.11.2020, 12:12   #2
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,309
По умолчанию

Не вдаваясь в решение, отмечу, что в условных операторах рассматривается не строгое неравенство, как следует из задания. Т.е. если ширина основания равна ширине прямоугольника, то прямоугольник следует повернуть так, что бы его новая ширина была меньше ширины основания.
много слов.
Код:
+---------+
I         I
I         I
+---------+
+---------+
I         I
I         I
+---------+
Так нельзя.
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите пожалуйста с решением задачи krooplop Фриланс 2 30.05.2017 19:23
Помогите пожалуйста с решением задачи Ainur Помощь студентам 1 23.05.2009 10:21
Помогите, пожалуйста, с решением задачи Knight_Maggot Помощь студентам 3 26.10.2007 10:46