Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!
0 Пользователей и 1 Гость просматривают эту тему.
(Нажмите, чтобы показать/скрыть) negr_map = 0 ; history = '' ;NR= 0poison= input ( 'какую бочкуотравим? [1-240]' )a = '' ; b = '' ; k = poisonwhile k > 0 :b = str(k% 3 )+ str(b) ; k = k// 3print 'Запомним, чтоотравлена бочка под номеромN=(' + str(poison)+ ')'+bprintprint 'бочек слишкомдофига, вариант порезатьлишние,'print 'оставив вначале иконце N-штук'cut_line = input( 'для выводавсего списка :120 [3-120]: ' )if cut_line < 3 orcut_line > 120:cut_line = 10printprint 'Итак, создаембизнес-план, в которомкаждый из рабов'print 'должен будет по-чутьотпить из разных бочек:'print '(бочка с ядомпомечена -DEADBEAF- длянаглядности)'printfor days in range ( 3):history = history+ 'День ' + str(days)+ '-й :'for negrs in range( 5 ):negr_vine = ''for i inrange (240 ):b = '';k = i+ 1 ; r = 0 ; c = str(i+ 1 )ifpoison== i+ 1 :c = '-DEADBEAF-'#гдеточитал, что DEADBEAF -слово, с которым отлаживалимашинный код#нафоне цифр в трассировщикеоно выделялось и помогалонаходить нужные точки в кодеwhilek > 0:s = k% 3 ; r = r+ 1 ;ifs ==days and days > 0 and r ==(negrs+ 1 ):ifpoison== i+ 1 :negr_map =negr_map+( 10**negrs)*shistory =history+ 'Умер ' + str(negrs+ 1 )+ 'й негр, отмечаем егоразряд ' + str( 10**negrs*s)+ ' в списке,список такой= ' + str(negr_map)+ ', 'print'RIP' NR =NR+ 1ifi < cut_line or i > 239-cut_line: negr_vine= negr_vine+c+ ', 'ifi+ 1== cut_line:negr_vine= negr_vine+ '..., 'b = str(s)+b ; k = k// 3ifdays ==0 and negrs ==0 and(i <cut_line or i > 239-cut_line): a = a+ '('+c+ ')' +b+ ', 'ifdays ==0 and negrs ==0 andcut_line ==i+ 1 :a = a+ '..., 'if days != 0 :print'День ' + str(days)+ 'й. Раб' + str(negrs+ 1 )+ 'й пьет избочек, в номере которых' + str(negrs+ 1 )+ 'й разряд =' + str(days)+ ' из этих:' +negr_vineprintprint 'у нас есть кучабочек, короче называем ихпо-своему, будут они теперьне 1,2,3,..,240 а вот так:' +a+ '- тоже самое, тольков троичной системе'printprint historyprintprint 'умерло рабов за двадня: ' +str (NR)print 'смотрим список сразрядами недоживших рабов:' + str(negr_map)+ ' (3)'print 'это и есть номеротравленой бочки,'print 'сравниваем его с темномером, что ввели вначале:' + str(poison)+ ' (10)'a = input( 'Все сходится?' )
[code]
[code=Python]
Phlya, это я с телефона, поэтому отступов нет. Код питон знаю, сделал.
(Нажмите, чтобы показать/скрыть)Всё очень просто. Так как у нас 5 рабов дегустируют 240 бочек за 2 раза, то выходит, что каждый раб может быть в трёх состояниях:1 - раб пил в первый день2 - раб пил во второй день3 - раб не пил виноВспоминаем комбинаторику и узнаём, что задача решаема для 35=243>240Строго говоря задача имеет решение и для 243 бочек
А я просто взял и нашел решение, без всяких доказательств.В этом ведь и состоят подобные задачи — найти решение, либодоказать, что его не существует.
Страница сгенерирована за 0.026 секунд. Запросов: 22.