На этом форуме отвечают на конкретные вопросы. Фраза «я не понимаю, как решать» — это не вопрос. На вопрос «как решить задачу №X» вас отошлют к материалам сайта kpolyakov.spb.ru. За бессвязный поток слов и неспособность формулировать свои мысли — бан.

Если у вас не сходится ответ на какую-то задачу, пожалуйста сразу представляйте свое «правильное» решение.
Программы "заворачивайте" в тэг [pre2]...[/pre2], при этом сохраняются все отступы и применяется моноширинный шрифт. Если у вас используется сочетание "[i]" для обозначения элемента массива или строки, ставьте пробел после открывающей скобки. Иначе система выделит все дальнейшее курсивом.

Для регистрации на форуме щелкните по ссылке «Вход-регистрация» вверху страницы. В открывшееся окошко «ник» введите свою фамилию на русском языке (например, Иванов). В окошко «пароль» введите придуманный вами пароль, состоящий из латинских букв и цифр. Поставьте галочку в окошке «зарегистрироваться, я новый участник» и нажмите кнопку «ОК».

АвторСообщение





Сообщение: 1
ссылка на сообщение  Отправлено: 20.02.21 17:14. Заголовок: Неверный ответ в задачке 2836


Есть единственная тема по ней: http://egekp.unoforum.pro/?1-15-0-00000085-000-0-0-1607357126 но она не подходит.

Мой ответ: 5931 882
Их ответ: 5931 800

Самое забавное, что они смогли просчитать верно 5931, но при этом забыли про последние 32 груза, что там самый тяжёлый весит 882.

Вот моё кодище:
 
def Loader4(Name):
with open(GPath + Name) as file:
N, K = map(int, file.readline().split(" "))
Arr = [tuple(map(int, file.readline().split(" "))) for i in range(N)]
Arr.sort() #Некоторые бы догадались, что это не первая задача из 26 номеров, так что данная сортировка только в этой подзадаче не имеет смысла
return K, Arr

def Z2836():
K, Arr = Loader4("26-k6.txt")
Dict = {}
for i, j in Arr:
ji = j / i
try:
try: Dict[ji][ i].append(j)
except KeyError: Dict[ji][ i] = [j]
except KeyError: Dict[ji] = {i: [j]}
Keys = sorted(Dict.keys())
Mass = Max = 0
for Key in Keys:
Pack = Dict[Key]
print(Key, K)
Keys2 = sorted(Pack.keys())[::-1]
for i in Keys2:
j = Pack[ i]
print(" ", i, j)
for k in j:
Mass += i
Max = max(Max, k)
K -= 1
if K == 0:
print(Mass, Max)
return

Z2836()

Сам прогу пилил ;'-}
Вывод в консоли, свои комменты написал после решётки '#'
 
#Первые 68 грузов:
8.0 100
100 [800] #Вот откуда они взяли ответ -_- но это же не верно!!!
94 [752, 752]
93 [744, 744]
92 [736]
91 [728]
89 [712]
88 [704]
86 [688, 688]
81 [648]
78 [624]
...
15 [120, 120]
12 [96]
11 [88, 88]
#Остальные 32 груза:
9.0 32
98 [882, 882] #Вот откуда взял я ответ! Их же пример берёт максимальную массу НЕ из самых дешёвых грузов! Так и тут!!!
95 [855]
93 [837]
88 [792]
87 [783]
86 [774]
84 [756]
83 [747]
82 [738]
81 [729]
...
53 [477]
52 [468]
49 [441]
5931 882


Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 5 [только новые]


Администратор




Сообщение: 2476
ссылка на сообщение  Отправлено: 20.02.21 18:28. Заголовок: Обратите внимание на..


Обратите внимание на то, что нужно записать в ответе: "Запишите в ответе два числа – сначала суммарный вес угля в отправленных пакетах, затем стоимость самого тяжёлого отправленного пакета."

___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 2
ссылка на сообщение  Отправлено: 21.02.21 12:21. Заголовок: Разве 882 не тяжелее..


Разве 882 не тяжелее 800?
В том то и дело, что суммарный вес я правильно высчитал, тогда почему автор задачки не в состоянии был посмотреть на то, что там есть пакеты стоимостью 882, 882, 855 и 837? Какое условие блокирует высчет в этом месте, если в примере задачки самый тяжёлый был не из самых дешёвых?

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Сообщение: 2483
ссылка на сообщение  Отправлено: 21.02.21 12:25. Заголовок: VectorASD пишет: Раз..


VectorASD пишет:
 цитата:
Разве 882 не тяжелее 800?

Это стоимость. А их массы - 98 и 100 соответственно.

___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 3
ссылка на сообщение  Отправлено: 21.02.21 12:35. Заголовок: А всё, пардон. Приме..


А всё, пардон. Пример задачки https://kpolyakov.spb.ru/school/ege/gen.php?action=viewTopic&topicId=2836 не расчитан был на такое :/ Плохо было делать, чтобы и стоимость и масса были максимальными одного и того же груза в примере

Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 4
ссылка на сообщение  Отправлено: 21.02.21 12:40. Заголовок: Вот теперь всё хорош..


Вот теперь всё хорошо :S
 
GPath = "" #__file__.rsplit("/", 1)[0] + "/" #В случае QPython3 (андроидский релиз питона) приходится высчитывать путь до директории скрипта -_-
def Loader4(Name):
with open(GPath + Name) as file:
N, K = map(int, file.readline().split(" "))
Arr = [tuple(map(int, file.readline().split(" "))) for i in range(N)]
Arr.sort()
return K, Arr

def Z2836():
K, Arr = Loader4("26-k6.txt")
Dict = {}
for i, j in Arr:
ji = j / i
try:
try: Dict[ji][ i].append(j)
except KeyError: Dict[ji][ i] = [j]
except KeyError: Dict[ji] = {i: [j]}
Keys = sorted(Dict.keys())
Mass = Max = MaxS = 0
for Key in Keys:
Pack = Dict[Key]
print(Key, K)
Keys2 = sorted(Pack.keys())[::-1]
for i in Keys2:
j = Pack[ i]
print(" ", i, j)
if i > Max: Max, MaxS = i, j[0]
for k in j:
Mass += i
K -= 1
if K == 0:
print(Mass, MaxS)
return

Z2836()

Как закрыть тему?) Типо чтоб в неё нельзя было писать

Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 89
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет