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

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

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

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





Сообщение: 11
ссылка на сообщение  Отправлено: 16.06.21 22:27. Заголовок: Задача 40


Первоначально у нас получилось 9991 кг, последние грузы были массой 126, 128, 129, 131 кг. А почему нельзя поменять груз 129 кг на 138 кг? И тогда общая масса будет равна 10000 кг...
Ответ: 113 10000
В чем у меня ошибка?

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







Сообщение: 12
ссылка на сообщение  Отправлено: 16.06.21 22:35. Заголовок: f = open('26-39...


 f = open('26-39.txt','r') 
a=[]
n,m = map(int,f.readline().split())
sn=0; s =0
for i in f:
if int(i)>=310 and int(i)<=320 :
sn+=1
s+=int(i)
else : a.append(int(i))
a = sorted(a)
i=0
while s+a[ i]<=m :
sn+=1
s+=a[ i]
i+=1
i-=1; n=0; sm=s
while True :
k=i
while s-a[i-n]+a[k]<=m : k+=1
if k==i : break
if s-a[i-n]+a[k-1]>sm : sm = s-a[i-n]+a[k-1]
if sm==m : break
n+=1
print(sn,sm)
f.close()


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




Сообщение: 2866
ссылка на сообщение  Отправлено: 16.06.21 22:40. Заголовок: Попробуйте сравнить ..


Попробуйте сравнить свое решение с авторским, которое есть на сайте (рядом с файлом с данными).

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





Сообщение: 13
ссылка на сообщение  Отправлено: 17.06.21 07:17. Заголовок: Автор меняет "по..


Автор меняет "последний" груз 131кг на максимально возможный - 139кг, добавляя всего 8кг. Но...
Автор прав! В задании сказано, что главное - максимальный груз!
Я же решал задачу - максимальная загрузка!
Извиняюсь за неумение читать...

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





Сообщение: 14
ссылка на сообщение  Отправлено: 17.06.21 07:57. Заголовок: Если чуть-чуть измен..


Если чуть-чуть изменить мою программу, она будет выводить и максимальный груз, и максимальную загрузку...

 
f = open('26-39.txt','r')
a=[]
n,m = map(int,f.readline().split())
sn=0; s =0
for i in f:
if int(i)>=310 and int(i)<=320 :
sn+=1
s+=int(i)
else : a.append(int(i))
a = sorted(a)
i=0
while s+a<=m :
sn+=1
s+=a
i+=1
i-=1; n=0; sm1=s; sm2=s
while True :
k=i
while s-a[i-n]+a[k]<=m : k+=1
if k==i : break
if n==0 : sm1 = s-a+a[k-1] # в этой строке почему-то пропадает индекс i - в предпросмотре все правильно!
if s-a[i-n]+a[k-1]>sm2 : sm2 = s-a[i-n]+a[k-1]
if sm2==m : break
n+=1
print(sn,sm1,sm2)
f.close()



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

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