Имя: Пароль:
LIFE
 
OFF Задача по информатике на олимпиаде, поломаем головы?
0 Kigo_Kigo
 
26.10.23
15:55
Ваши варианты дамы и господа?
1 Kigo_Kigo
 
26.10.23
15:56
Перенесите в нужный раздел плиз.
2 PR
 
26.10.23
16:00
(1) Может за тебя еще и текст с картинки набрать?
3 PR
 
26.10.23
16:01
А еще здравомыслящий
4 PR
 
26.10.23
16:01
5 Kigo_Kigo
 
26.10.23
16:05
(4) Ха, там нет правильно ответа
6 Kigo_Kigo
 
26.10.23
16:07
А уж по ответу чатаДжиПиТэ, вообще смешно
7 Kigo_Kigo
 
26.10.23
16:08
(1) То есть 4 цифры с картинки вы списать не в силах, да ?
8 Arbuz
 
26.10.23
16:17
(7) А вы в силах отличать хотя бы цифры от чисел?
9 Kigo_Kigo
 
26.10.23
16:19
(8) неа, а чё?
10 KJlag
 
26.10.23
16:39
(0) 201?
11 KJlag
 
26.10.23
16:39
(10) а нет. нужно еще на 8 умножить. ради времени. 201 кокос у меня получился
12 Kigo_Kigo
 
26.10.23
16:41
(10) Не гугли, там ответа нет, а ответ 200 сек -это ответ от "Ответ нейросети:"
13 KJlag
 
26.10.23
16:43
(12)
эм. не гугли же
х*0.5>20+4*((8*х) div 40)*0.5
х>40+4*(х div 5)

х-0.8x>40
0.2x>40
x>200
x=201

и у меня 201 - это кокос, а не время.
время уже 1608 сек

интересно, где я лохонулся?
14 KJlag
 
26.10.23
16:43
(13) не гуглил*
15 Kigo_Kigo
 
26.10.23
16:55
(13) начнем с того, что во время запуска -конвеер и приемник пустые
16 Kigo_Kigo
 
26.10.23
17:06
Кстати задача довольно таки сложная, как кажется на первый взгляд
17 H A D G E H O G s
 
26.10.23
17:20
(0) Они информатику с математикой перепутали.
18 Arbuz
 
26.10.23
18:00
контейнер начинает перерабатывать с любого количества яблок в нём или минимум с 4? Или даже с 5 (условия задачи несколько мутноваты)?
19 olegves
 
26.10.23
21:56
простое решение есть графически, но условие неполное, неясно, контейнер в какой момент хватает 4 кокоса на переработку:
1) когда появится первый?
2) когда будет все 4?
3) независимо от этого?
20 Asmody
 
26.10.23
23:05
(0) рано или поздно сломается.
и ещё скажите, что это неправильный ответ
21 PR
 
27.10.23
00:27
328 секунд
22 Злопчинский
 
27.10.23
00:52
Вы бы лучше УТ оптимизировали, чем всякой хренью заниматься ;-)
23 b_ru
 
27.10.23
01:50
container = 0
time = 0
while container <= 20000:
    if time % 8 == 0:
        container += 500
    if container > 20000:
        break
    if time % 40 == 0:
        container -= 4 * 500
    time += 1


time получается 1600. Если break убрать, т.е. контейнер успеет переработать последнюю партию раньше чем его убьет очередной кокос, то будет 1633.

Накодить быстрее, чем формулу составить :)
24 Злопчинский
 
27.10.23
01:53
328
1603
1663
..кто-то лажает...
25 Злопчинский
 
27.10.23
01:54
для проверки написать тупую эмуляцию реальной работы
26 rphosts
 
27.10.23
05:19
(0) если решение выдать в формулах- это математика, если ви виде программы - информатика... но дял информатики какая-то слишком простая задача
27 Прохожий
 
27.10.23
07:07
За 40 сек 5 кокосов (2,5 кг кокосов) ,а переработает только 4 кокса (2кг, это важно). Контейнер выдерживает 40 кокосов. через 40 сек * 40 циклов будет 20 кг лишних кокосов. Теоретически. Но на надо учесть физику процесса - кокосы перерабатываются не мгновенно. Так на последнем цикле будет помещено уже 22 кг кокосов, что не допустимо. то есть четыре цикла назад наступило 20 кг, а три цикла назад физически произошла перегрузка в момент выгрузки очередной партии кокосов их стало 41, было 20,5 кг. Значит минус три цикла. через 40 сек * 37 циклов
28 Kigo_Kigo
 
27.10.23
07:24
(23) Нет
(21) нет
(27) рассуждения правильные, но ответ нет
29 Kigo_Kigo
 
27.10.23
10:26
Условия задачи придумал не я, представте что вы пришли на олимпиаду по информатике, вам дали это задание, так как это олимпиада, никаких разъяснений по задаче вам не дают, чтобы победить вам надо решить задачу(и), всё! что за вопросы и уточнения ко мне?
30 kuromanlich
 
27.10.23
07:51
(29) круто, я не знал что миста теперь так умеет )
31 Valdis2007
 
27.10.23
08:10
(13) и у меня 201 - это кокос, а не время. ..ты как-то сложно считал... давай на пальцах...каждые 40 сек в контейнере появляется не снижаемый запас в 1 кокос, на 41 коксе контейнер ломется, 40*40=1600. 1600+ 8=1608 секунде контейнер сломается
32 rphosts
 
27.10.23
08:29
(29) какой класс и какой уровень олимпиады?
33 Kigo_Kigo
 
27.10.23
08:36
(31) это олимниада и глупо считать что, что бы контейнер сломался, нам надо набрать тупо 40 лишних кокосов
каждые 8 сек у нас дебет 1 кокоса, каждые 40 сек у нас кредит 4 кокоса + на начало работы у нас конвеер пустой, молотилка начинает работать когда в нее загружено 4 кокоса, в этот момент наступает кредит
34 Valdis2007
 
27.10.23
08:39
(33) нам надо набрать тупо 40 лишних кокосов ..не 40, а 41.
35 Kigo_Kigo
 
27.10.23
08:42
(34) ну да, 40 + 1, только надо учесть все интерации дебета и кредита
36 Valdis2007
 
27.10.23
08:54
(35) в задаче, же написано, -контейнер в начле пустой.  

За 40 секунд лента сколько скинет в конт. кокосов? =5.
А контейнер через 40 сколько обнулит? =4.
Останется =1. Через сорок 40 секундных циклов в конт. будет 20 кг. Еще через 8 сек, прилетит еще 1 кокос 0.5 кг. =20.5 кг.

Контейнер сломается. Это 5 класс
37 Kigo_Kigo
 
27.10.23
08:57
(36) А причем тут
"За 40 секунд лента сколько скинет в конт. кокосов? =5.
А контейнер через 40 сколько обнулит? =4."
контейнер пустой, как он через 40 сек скинет 4? как то надо их еще туда загрузить, не?
38 Valdis2007
 
27.10.23
09:01
(37) "контейнер пустой, как он через 40 сек скинет 4?"...ты задачу читал? от момента старта, прошло 40 секунд, каждые 8 секунд в контейнер падает 1 кокос сколько их там будет через 40 сек? 40/8=5.
39 Valdis2007
 
27.10.23
09:02
(38) и обнулит он серез сорок секунд 4. останется 1
40 Kigo_Kigo
 
27.10.23
09:03
(39) ладно, дам на-водку, контейнер стартанет на какой секунде работать?
41 Kigo_Kigo
 
27.10.23
09:04
(38) я задачу читал и знаю ответ и обоснование
42 olegves
 
27.10.23
09:37
(40) на 64й
43 Гость из Мариуполя
 
27.10.23
10:10
(38) контейнер стартанет на 32 секунде (когда кокосов станет 4) и на 40-й секунде на контейнере будет всего 1 кокос. Никакого "плюс 1 к дебету". Никакого "40/8=5", потому что 40/8 - 4(на 32-й) = 1

Первый дебет будет на 72-й секунде.

так то рассуждения верны, просто надо добавить 32 секунды (первоначального заполнения контейнера). А потом уже пойдут описанная итерация - каждый 40 секунд плюс 1 к дебету.  
Итого 1608+32=1640.
44 PLUT
 
27.10.23
10:15
(40) контейнер сразу начинает работать. этож мясорубка кокосовыжималка

кокосовый фрэш :)
45 Valdis2007
 
27.10.23
10:19
(43) контейнер стартанет на 32 секунде (когда кокосов станет 4) ...в задаче написано -"в процессе замеров было определено, что лента сгружает 1 кокос каждые 8 секунд, а контейнер перерабатывает 4 кокоса за один раз каждые 40 секунд"...внимание! не на 32 секунде, а на 40й. Ты тоже условия задачи не читаешь?
46 PLUT
 
27.10.23
10:28
(44) ашипся

по условиям из (0) - каждые 40 сек единовременно 4 кокоса в труху (старт/стоп штоле?) а за какое время в труху не написано
47 Гость из Мариуполя
 
27.10.23
11:14
"внимание! не на 32 секунде, а на 40й. Ты тоже условия задачи не читаешь?"(45)
а с чего ты взял, что первые 40 секунд начинаются с какого-то момента 0? может, контейнер до этого полчаса вхолостую уже был как включен и "первые 40 секунд" как раз и начнутся на 32-й секунде?
Ты искусственно вводишь какую-то точку 0 секунд. От которой начинаешь отсчет. хм.. Этого в условии нет.


потом цикл каждые 40 секунд, да, согласен, но а первый раз контейнер сработает на 32-й секунде.
Недаром в условии в (0) выделено жирным шрифтом. :)
48 Гость из Мариуполя
 
27.10.23
11:24
Либо в условии надо отдельно оговорить, что отсчет начинается с момента поворота рубильника с точки 0 для ленты и контейнера одновременно. И это будет точка 0 секунд.

В противном случае я настаиваю, что "первые 40 секунд" для контейнера наступят на 32-й секунде, потому что контейнер был включен задолго до этого. Программа просто сбойнула, а не рубильник повернули.
49 Valdis2007
 
27.10.23
11:27
(47) Ты искусственно вводишь какую-то точку 0 секунд. От которой начинаешь отсчет. хм.. Этого в условии нет. ...фраза "Учтите что в начале работы, контейнер пустой"...чем тебе не точка -0?
50 Valdis2007
 
27.10.23
11:29
(48) знаешь анекдот про математика, физика и инженера?))
51 Kigo_Kigo
 
27.10.23
11:38
(47) В определенной итерации основные кокосы будут приближатся к добавочным и к пределу выхода из строя и это не 40-я интерация ...
52 Гость из Мариуполя
 
27.10.23
11:40
автор в (40) как бы на это намекает своим вопросом :)

ну и второй вопрос - а почему точка 0 выбрана за 8 секунд "до"? давайте точку 0 выберем на момент выгрузки первого кокоса. Выгрузили первый кокос - и начался отсчет. Тогда пятый кокос выгрузится на 32-й секунде.

Так почему точка 0 выбрана за 8 секунд "до". Почему не за 40 секунд "до"? Почему не с момента выгрузки первого кокоса?
В общем, все зависит от выбора точки 0.
53 Гость из Мариуполя
 
27.10.23
11:42
(49) что принимать за "начало работы"? Выгрузку первого кокоса? Тогда первые 5 кокосов выгрузятся на 32-й секунде.
54 Гость из Мариуполя
 
27.10.23
11:50
Я принимаю за начало работы контейнера условие - на контейнере появилось 4 кокоса. Контейнер стартанул. Переработал первые 4 штуки. Потому что сработало условие. После этого контейнер работает с циклом 40 секунд.
Но момент старта контейнера не за 40 секунд "до", а в момент срабатывания условия - загружено 4 штуки кокосов.
55 Valdis2007
 
27.10.23
11:53
(54) Я принимаю за начало работы контейнера условие - на контейнере появилось 4 кокоса...Ты прикалываешься?)) "Учтите что в начале работы, контейнер пустой". Для кого написано?))
56 Kigo_Kigo
 
27.10.23
11:54
(54) Будем считать, что в момент старта с конвеера упал первый кокос в контейнер, контейнер перерабатывает сразу 4, не по одному
57 Valdis2007
 
27.10.23
11:54
(54) ну это...как если бы тебя спросили, сколько 2+2? а тыбы сказал..Я принимаю, что там есть еще и +3))
58 Kigo_Kigo
 
27.10.23
11:58
Далее, еще подскажу к (51), когда начинает образовыватся патовая ситуация? Еще подскажу когда "запасных" кокосов 36, при следующей итерации их наберется 40, докрутите?
59 Valdis2007
 
27.10.23
12:09
(56) да какая разница в момент старта упал или на 8 секунде? Тебе черным по белому написано..что за 40 секунд контейнер "обнуляет" 4 кокоса, а лента накидывает 5. Это все что надо знать..)) какие рубильники? какие патовые ситуации? это что шахматы?))
60 Kigo_Kigo
 
27.10.23
12:20
(59) а вы точно программист или кодер?
61 Valdis2007
 
27.10.23
12:20
(60) я где-то сказал, что я программист или кодер?
62 Kigo_Kigo
 
27.10.23
12:22
(61) это не важно, не понимать точку отсчета и патовую ситуацию, ну это такое себе
И целая орда "программистов" не может решить эту задачу, дааа, уж
Там выше спрашивали -и это 10 -й класс
63 Гость из Мариуполя
 
27.10.23
12:25
(59) Э нет. Если за  момент старта принимать "упал первый кокос", то пятый упадет на 32 секунде., а на 40-й секунде упадет еще один, то есть шестой.

сравни со своим - "за 40 секунд контейнер "обнуляет" 4 кокоса, а лента накидывает 5. Это все что надо знать..))" За первые 40 секунд лента накинет 6. А дальше - как ты и сказал.
64 Гость из Мариуполя
 
27.10.23
12:28
(56) спасибо за уточнение момента старта. А то тут почему то за момент старта принимают "минус 8 секунд" до первого падения с ленты на конвейер. почему "минус 8 сек", я хз...
В общем, как я и сказал в (52) - "все зависит от выбора точки 0."  То есть и такое решение имеет право на жизнь, если обосновать "минус 8 сек".
65 Valdis2007
 
27.10.23
12:30
(63) ты секунду , как считаешь когда она началась или когда закончилась?
66 Arbuz
 
27.10.23
13:58
Нда... Игорюша исходя из мутных вводных и отсутствия системного образования надумал свои условия и теперь, распираемый от чувства собственного превосходства, наглаживает своё прокрустово ложе: кто-же таки догадается, что он там нафантазировал. иНтерация - это пять! Так-то человек цифр от чисел не отличает и не видит тут проблем. Чем ещё он там себе в уму пренебрегает? 👍
67 Kigo_Kigo
 
27.10.23
14:10
(66) Слава богу, что ты научился в профиль смотреть, и цифры от чисел отличать, ничего что числа из цифр сотоять, не ну а что надо ж до чего то даебаться, решить задачу то самому мозгов не хватает, а чсв свое почесать надо, глупо и не красиво...
68 Arbuz
 
27.10.23
14:07
(67) Сразу видно образованного человека! И, к твоему сведению, числа состоят из цифр, а не наоборот! Постарайся запомнить. И не матерись в приличных местах.
69 Kigo_Kigo
 
27.10.23
14:11
(68) я знаю, чеши дальше
70 Arbuz
 
27.10.23
14:13
(67) Глупо и некрасиво свои посты редактировать, чтобы последующие замечания дискредитировать, дядя.
71 Kigo_Kigo
 
27.10.23
14:15
(70)Пакеда
72 Djelf
 
27.10.23
14:19
Ну, у меня без вариантов решение: проблема была вчера, обнаружили сразу же вчера, решить не смогли, а сегодня уже поздно - девайс сломался. Чините девайс, ССЗБ и все.
73 Arbuz
 
27.10.23
14:41
(71) Слив защитан (с)

(2All) И вы все рассчитываете на адекватность ТС? Ну, ну.
Эта классическая задача из ТКА и решить её на SFC плёвое дело, но проблема в неполном и неточном описании условий, т.е. возможны разночтения и, соответственно, различные правильные решения. На олимпиадах это, кстати, частая проблема, сам сталкивался постоянно и как участник, и как устроитель.

ЗЫ: немного поясню. ТКА это теория конечных автоматов, SFC это специальный промышленный инструмент для дизайна и программирования логических контроллеров, т.е. даже ничего не надо думать и считать, просто строишь схему из двух автоматов, задаёшь им свойства и всё.
74 Kigo_Kigo
 
27.10.23
14:34
(73)"На олимпиадах это, кстати, частая проблема, сам сталкивался постоянно и как участник, и как устроитель."
Слив защитан (с)
Утрскоритель балабол мля, теперь точно досвидос
75 b_ru
 
27.10.23
14:54
(29) На олимпиадах еще как дают разъяснения по задачам, а задачу с такой постановкой скорее всего убрали бы из контеста, потому что там любой душнила на раз два докажет, что условие неполное и ему надо выдать максимальный балл :)
76 Arbuz
 
27.10.23
15:07
(75) Виноват, снимаю и съедаю свою шляпу 🧙‍♂️
77 Гость из Мариуполя
 
27.10.23
17:32
(65) Я считаю так, как автор ограничил - в момент старта первый кокос упал. Уже упал.

Читай (56). Ты имеешь полное право трактовать это высказывание в (56) по-другому. :)

Но я понимаю его слова так, что на на момент 0.00 один кокос упал. И одновременно с этим начался отсчет - включили секундомер. Следующий должен упасть на момент 08.00. Пятый - на момент 32.00 Шестой - на момент 40.00
То есть на начало 40-й секунды.

И одновременно с началом 40-й секунды конвейер переработал 4 кокоса (положим, что он делает это мгновенно). Таким образом, к концу 40-й секунды на конвейере - 2 кокоса. А дальше - дальше работает твоя итерация - каждые 40 сек плюс 1 к дебету.
78 yuri_k
 
27.10.23
18:56
(0)
1472
79 Гость из Мариуполя
 
27.10.23
20:37
(78) точно
поддерживаю.

- 2 штуки после первой итерации (после 40 сек) ЕСЛИ момент начала - это момент падения первого кокоса, а не "за минус 8 секунд до этого".
- еще 35 итераций  (считай еще 35 штук) по 40 сек - 1400 сек
- итого после 36 40-секундных итераций - 37 штук за 1440 секунд

- и еще 4 итерации по 8 сек (еще 4 штуки) - 32 сек
итого - дебет 41 штука за 1472 секунды.
80 Волшебник
 
27.10.23
20:31
(78) На олимпиаде не нужны ответы. Составители задач знают все правильные ответы.
81 Волшебник
 
27.10.23
20:33
(29) Вот Вы молодец, что обозначили свою позицию и выделили жёлтым.

А всем остальным мы запрещаем публиковать олимпиадные задачи.
82 Valdis2007
 
28.10.23
13:39
(77) "Но я понимаю его слова так, что на на момент 0.00 один кокос упал. И одновременно с этим начался отсчет - включили секундомер. Следующий должен упасть на момент 08.00...А ну понятно т.е. на интервале от 0 до 8 сек. в твоем пониманиии лента скинет 2 какоса, когда в условии написано 1 кокос за 8 сек...ну считай тогда 3 или 4 чего уж там))  В принципе понятно, что бывает так, что даешь т.з. , кде красным по синему написано так и так...а "умный" прог понимает , как считет нужным))
83 Гость из Мариуполя
 
28.10.23
14:55
(82) 0.00 упал кокос.

следующий кокос должен упасть через 8 секунд. 0.00+8 = 8.00


Больше с человеком, не знающим арифметику первого класса, говорить не буду. Я до такого уровня не опускаюсь. Иди учи арифметику. Настолько я еще не видел, к нолю прибавить восемь не умеет. Это вообще. Даже поломойка любая так может.

PS:и да, "кАкос" пишется через О. Вот так - "кОкос". Ты, помимо арифметики, еще и в русском слаб? От всей души соболезную.
84 Kigo_Kigo
 
28.10.23
18:31
(81) Что бы это значило?
85 Valdis2007
 
28.10.23
19:04
(83)  "Даже поломойка любая так может"....Ты считаешь, труд людей котрые моют полы, мене ценным, чем твое балабольство?
86 yuri_k
 
30.10.23
11:31
(80)
Так лучше?

coconut = 0.5
weight_lim = 20
fullness = 0
timer = 1

while True:
    # Сначала падает кокос, каждые 8 секунд
    fullness += coconut if timer % 8 == 0 else 0


    # Каждые 40 секунд аннигилируются четыре кокоса
    # То есть на сороковой секунде одновременно упадет кокос и аннигилируют четыре
    fullness -= (4 * coconut) if timer % 40 == 0 else 0

    # Поэтому проверяем после падения кокоса и после аннигиляции
    # Проверяем на больше или равно,
    # хотя вроде как по условию задачи 20 кг ещё норм.
    # Мне просто так показалось логичнее
    if fullness >= weight_lim:
        break

    timer += 1
    # print(f'weight {fullness} on {timer} s')
    # if timer % 20 == 0:
    #     print(f'weight {fullness} on {timer} s')

print('And finally...', timer)
87 notatall
 
01.11.23
16:32
Решение математически, сложное:

Каждые 40 секунд в момент срабатывания контейнера количество кокосов увеличивается на единицу.

Максимальное количество кокосов в момент поломки будет за 4 секунды до срабатывания контейнера.

Чтобы контейнер сломался, кокосов должно быть 41 штука.
Значит, через 8 секунд (не забыть их потом отнять), в момент срабатывания контейнера, их там было бы 42 - 4 = 38 кокосов, если бы он не сломался.

Итого, решение:

38 * 40 - 8 = 1512 секунд.
88 notatall
 
01.11.23
16:40
Программно решить гораздо проще, пример на JS:

let time = 0
do time += 8
while (time / 8 - Math.floor(time / 40) * 4 <= 40)

Результат: 1512
89 notatall
 
01.11.23
16:44
Пояснение к 88:

time / 8 - это сколько кокосов накидано за все время. Каждые 8 секунд прибавляется по 1, поэтому время делим на 8.


Math.floor(time / 40) * 4 - это сколько кокосов обработано за все время. Каждые 40 секунд отнимается по 4 штуки.


Условие <= 40, потому что всего их должно накопиться не более 40 штук.
90 notatall
 
01.11.23
16:45
(0) Школьная задачка. Слишком легко. Дайте что-нибудь посложнее.
91 notatall
 
01.11.23
16:52
Математическое решение, чуть проще чем первое:

Через 32 секунды накопится 4 кокоса.

Каждые 40 секунд будет накапливаться на 1 больше.

Всего перед поломкой накопится 41 кокос.

От 41 отнимаем первоначальные 4, получается: 41 - 4 = 37. Они накопятся за: 37 * 40 = 1480 секунд.

Прибавляем первые 32 секунды: 1480 + 32 = 1512
92 Kigo_Kigo
 
01.11.23
16:55
(90) (91) ответ не верный, хотя мы тоже посчитали 1512, но у организаторов немного другое мнение, еще немного надо додумать
93 notatall
 
01.11.23
17:01
(92) Откуда вывод что ответ не верный? У тебя есть более правильное решение и правильный ответ?

Я решил тремя разными способами, ответ везде одинаковый. Если он не верный, значит я неправильно понял условие задачи. В чем моя ошибка?

По условию задачи не сказано что ответ должен был совпасть с решением организаторов.
94 Kigo_Kigo
 
01.11.23
17:03
(93) Задача была на олимпиаде, где был дан верный ответ и за него получили баллы
95 Kigo_Kigo
 
01.11.23
17:04
рассуждения верны, условия поняты правильно, но упущен один важный нюанс, который не дает верного ответа
96 notatall
 
01.11.23
17:05
Ответ организаторов 1480 ?
97 Kigo_Kigo
 
01.11.23
17:06
(96) нет, подскажу, что в момент 1512 происходит еще и кредит
98 notatall
 
01.11.23
17:18
(97) Очень сложно понять почему они решили именно так. Ты согласен что у них верное решение?

Пусть будет 1384
99 Garykom
 
01.11.23
17:26
Задача на очередь
100 uno-group
 
01.11.23
17:29
Асинхронность- В компьютерном программировании, асинхронными событиями являются те, которые возникают независимо от основного потока выполнения программы.
Соответственно Переработка 4 кокосов не может происходить не на 32 ни на 40 секунде.
Она может быт на промежутке от 1 до 39.
В самом быстром случае у нас на 41 секунде 0 кокосов. переработка сработала на 1 и 41 секунде
В самом медленном 4. Переработка сработала от 2 до 15 секунды.
101 Garykom
 
01.11.23
17:29
(95) (97) Да есть тонкий момент что происходит если падение очередного кокоса сверху в вертикальный контейнер совпадает с моментом забора снизу из контейнера очередной партии в 4 кокоса для переработки
102 Garykom
 
01.11.23
17:31
(101)+ фактически можно получить два правильных ответа
103 Garykom
 
01.11.23
17:34
(101)+ вероятно зависит давят ли (и с каким весом) забираемые 4 кокоса из контейнера
104 Garykom
 
01.11.23
17:38
(100) очевидно что переработка не может сработать на 1 секунде, предполагается что она уже сработала на 0
она срабатывает между 40 и 41 секундами

а вот первый кокос падает возможно уже на 1-й секунде

Короче задача некорректна, ибо нет нужных данных начальных
105 notatall
 
01.11.23
17:38
(100) >> Она может быт на промежутке от 1 до 39.

Переработка идет на промежутке от 0 до 39.99999999... секунды.

Ровно в 40 секунд происходит сброс всего что попало в переработчик, но не более 4, иначе в задаче нет смысла.
106 notatall
 
01.11.23
17:44
(102) Я насчитал уже 3 правильных ответа, в зависимости от интерпретации условий задачи:

1512, 1480, 1384
107 uno-group
 
01.11.23
17:52
ИМХО там должен быть просто интервал времени. от и до.
108 notatall
 
01.11.23
17:59
Вот еще один правильный ответ: 1544
Четвертая интерпретация условий задачи.

Если ТС скажет какой ответ верный, будет понятно как правильно понять условие.
109 notatall
 
01.11.23
18:19
Вот пример пятой, наиболее дурацкой на данный момент интерпретации из всех что я придумал, которая так же не противоречит условию, как и остальные:

Контейнер может начать перерабатывать кокосы только когда их там накопилось минимум 4 штуки, и только в моменты времени, кратные 40, и на переработку всех 4 кокосов за один раз ему нужно потратить 40 секунд с момента начала переработки. Значит, он первые 40 секунд вообще не будет ничего перерабатывать так как либо еще не накопилось 4 кокосов, либо еще не сработал таймер, а начнет только после 40 секунд, и закончит первую переработку в 80 секунд.

Ответ №5: 1352
110 Garykom
 
01.11.23
18:23
Скорее всего правильный что только что произошли сбросы, контейнер пустой
И начинается отсчет таймеров 8 и 40 секунд

Но что делать если на одну секунду выпадает и 8 и 40 непонятно

что первое происходит +0.5 кг (1 кокос)
или -X кг (не обязательно -2 кг за раз ибо при сбросе вес который давит от 0 до 2 кг для 4 кокосов)
111 notatall
 
01.11.23
18:37
(110) С этим как раз все понятно: +1 кокос -4 кокоса = -3 кокоса
112 notatall
 
01.11.23
18:38
>> Скорее всего правильный что только что произошли сбросы, контейнер пустой
>> И начинается отсчет таймеров 8 и 40 секунд

Этот ответ не правильный, уже предлагал его, ТС отверг.
113 notatall
 
01.11.23
18:44
По решению организаторов, сброс таймера почему-то происходит в 32 секунды. На это можно придумать две разных интерпретации условий с двумя разными ответами.
114 vbus
 
01.11.23
18:51
```coc = 0
sec = 32
while coc <= 40:
    sec += 1
    if sec % 8 == 0:
        coc += 1
    if sec % 40 == 0:
        coc -= 4
print(f'Накопится {coc} кокос, через {sec} секунды')``` Накопится 41 кокос, через 1672 секунды
115 notatall
 
01.11.23
18:59
(114) Там ошибка в самом начале.
```coc = 4
116 Kigo_Kigo
 
01.11.23
20:31
Ответ по мнению организаторов 1576
117 notatall
 
01.11.23
20:35
(116) Ты согласен с ними, проверил решение на соответствие условиям?
118 Kigo_Kigo
 
01.11.23
20:38
я не организатор, вот такое решение мне дали
Вот программа на питоне:
cMass = 0
cTime =  0
while True:
    cTime+=1
    if cTime%8==0:
        cMass+=0.5
        print(">", cTime, cMass)
    if (cTime%40==0):
        cMass-=(4*0.5)
        print("<", cTime, cMass)
    # if cMass>20:  #Такое условие окончания цикла должно быть
    #     break
    if cTime>1600:  #Условие для проверки
        break
print(cTime)
первый предел там 1512, но в этот момент наступает кредит и накопление идет до 1576, я не берусь судить правильно это или нет, я даю то что было на олимпиаде
119 Гость из Мариуполя
 
01.11.23
20:50
(86) так то оно так, да  только отсчет начинается в момент. когда упал первый кокос. то есть в момент 0 - должно быть так
fullness = 1

(89)  аналогично.

вы вообще (56) читали?
цитирую
Будем считать, что в момент старта с конвеера упал первый кокос
Где в (86) или в (88) или в (91) отражено вот это очень важное условие ? Я в упор не вижу в приведенных программных  решениях и в рассуждениях этого

(110) "только что произошли сбросы, контейнер пустой
И начинается отсчет таймеров 8 и 40 секунд
"

Автор четко русским языком сказал, что только что упал первый кокос и мы одновременно с падением начали отсчет. Поэтому уже имеем плюс 1 кокос на самое начало. А не пустые ленту и контейнер.
120 Гость из Мариуполя
 
01.11.23
20:50
(118) значит, ты либо соврал в (56)
либо в твоей программе  на начало должно быть
cMass = 0.5
cTime =  0
121 notatall
 
01.11.23
21:07
(119) Не сочиняй, в условии нет такого, что "в момент старта с конвеера упал первый кокос"
122 vbus
 
01.11.23
21:10
(118) Запускаю твой скрипт:`cMass = 0
cTime =  0
while True:
    cTime+=1
    if cTime%8==0:
        cMass+=0.5
        print(">", cTime, cMass)
    if (cTime%40==0):
        cMass-=(4*0.5)
        print("<", cTime, cMass)
    if cMass>20:  #Такое условие окончания цикла должно быть
        break
    if cTime>1600:  #Условие для проверки
        break
print(cTime)` >
> 1464 19.5
> 1472 20.0
> 1480 20.5
< 1480 18.5
> 1488 19.0
> 1496 19.5
> 1504 20.0
> 1512 20.5
1512
123 notatall
 
01.11.23
21:20
(118) Проверил эту программу. На 1512 кредит не происходит.
Судя по тексту, кредит происходит в эти моменты:
if (cTime%40==0)
проверяем:

1512%40==32

Условие не сработает.

Ответ 1512, как и в (87), (88), (89)
124 notatall
 
01.11.23
21:23
Вот перевод на JS, если у кого нет питона:

let cMass = 0
let cTime =  0
while (true) {
    cTime+=1
    if (cTime%8==0) {
        cMass+=0.5
        console.log(">", cTime, cMass)
    }
    if (cTime%40==0) {
        cMass-=(4*0.5)
        console.log("<", cTime, cMass)
    }
    if (cMass>20)  //Такое условие окончания цикла должно быть
         break
    if (cTime>1600)  //Условие для проверки
        break
}
console.log(cTime)
125 notatall
 
01.11.23
21:30
(118)
> 1504 20
> 1512 20.5  <<<=== предел №1
> 1520 21
< 1520 19  <<<=== кредит
> 1528 19.5
> 1536 20
> 1544 20.5  <<<=== предел №2
> 1552 21
> 1560 21.5
< 1560 19.5  <<<=== кредит
> 1568 20
> 1576 20.5  <<<=== предел №3
> 1584 21
126 Гость из Мариуполя
 
01.11.23
21:45
(121) тю. Я же тебе даже номер поста привел, где автор сабжа уточняет это условие.
ты чего?
пост (56)
там русским по-белому.

Или ты полагаешь, что автор выдал все условия в (0) и больше, как автор сабжа, не имеет права их уточнять?
ну не знаю, не знаю. Если бы это был кто-нибудь другой, тогда да, но автор сабжа наверно все-таки может и уточнить исходные условия, не поменять, а всего лишь уточнить, если они не оговорены в сабже.
127 Гость из Мариуполя
 
01.11.23
21:51
(124) "Вот перевод на JS"
опять же без учета уточнения в (56)
хм..
128 notatall
 
01.11.23
22:18
(126) Это не автор сабжа :))) Читай ветку внимательнее:

(29) >> Условия задачи придумал не я, представте что вы пришли на олимпиаду по информатике, вам дали это задание, так как это олимпиада, никаких разъяснений по задаче вам не дают, чтобы победить вам надо решить задачу(и), всё! что за вопросы и уточнения ко мне?
129 notatall
 
01.11.23
22:20
(127) ТСу дали решение задачи на питоне, которое он показал нам в (118), я его просто перевел на JS, при чем тут выдумка из (56)?
130 Гость из Мариуполя
 
01.11.23
23:29
(128) "Это не автор сабжа :))) Читай ветку внимательнее:"
хм.. автор темы - Kigo_Kigo
в (56) сообщение тоже от Kigo_Kigo
заметь, я не сказал - автор задачи! я сказал - автор сабжа (то есть ветки/названия темы), но не задачи.

Кому стоит читать ветку внимательнее? :)))

(129) при чем тут выдумка из (56)?

Это не выдумка, это уточнение ответа на вопрос о моменте начала отсчета. Во всех вышеприведенных программах получается, что первый кокос упадет через 8 секунд после начала. Но в условиях (опять же читай внимательнее) сказано лишь, что кокос падает с интервалом в 8 секунд и ничего не сказано о моменте начала.
Может, первый кокос упадет на 1-й секунде, а потом будет падать с интервалом в 8 секунд. А может на 2-й?

Почему во всех приведенных программных решениях заложена точка начала отсчет (time=0) за "минус восемь секунд" до падения первого кокоса? Нету такого в условиях в (0)

Я попросил уточнить. Мне уточнили в (56)

А то, что у тебя  первый кокос упадет через 8 секунд после time=0 - это твоя придумка.  
Первый кокос упадет на первой же секунде и дальше будут падать с интервалом в 8 секунд. Почему бы и нет? Читай условие внимательнее.
131 Гость из Мариуполя
 
01.11.23
23:38
(130)+ иными словами
почему в (124) сделано так:

let cMass = 0
let cTime =  0
while (true) {
    cTime+=1
    if (cTime%8==0) {
        cMass+=0.5
        console.log(">", cTime, cMass)
    }
и т.д...


а не так?

let cMass = 0.5 (учитывая уточнение автора ветки/темы в (56)
let cTime =  0
while (true) {
    cTime+=1
    if (cTime%8==0) {
        cMass+=0.5
        console.log(">", cTime, cMass)
    }

???
132 notatall
 
02.11.23
00:25
(130) Ты к словам цепляешься, или что? ТС не автор задачи, он ее только скопипастил.
По условиям читай еще раз (29), а так же предоставленное ТСом решение (118), в котором нет ничего из (56).
Предположение (56) не верное, я тебе уже объяснил, не тупи. Оно не соответствует ни условиям задачи, ни решению.
133 notatall
 
02.11.23
00:28
По условию задачи: Лента выгрузит кокос за время Х. Х равен 8 секундам.
Из этого понятно, что на выгрузку одного кокоса тратится 8 секунд, значит первый кокос упадет в 8 секунд с начала запуска ленты.
134 notatall
 
02.11.23
00:30
(131) Потому что организатор так решил.
135 notatall
 
02.11.23
00:34
Это наиболее логичная интерпретация условия задачи. Она понимается без всяких дополнительных уточнений, из условия задачи. Что и было продемонстрировано мной в (87) и далее, так как я сразу решил задачу исходя из оригинального условия, не читая ответов и догадок других людей, и не читая подсказок.
136 Прохожий
 
02.11.23
08:14
36 кокосов и ещё пять - тогда контейнер сломается.
Если считать от момента загрузки самого первого кокоса, то 37 х 40 сек минус восемь секунд
137 uno-group
 
02.11.23
13:26
Были мы на этих олимпиадах. При желании можно обосновать и доказать любой ответ из +/- похожих на верный. Мне мой алгоритм не засчитали, но после общения с жури я доказал, что он верный и просто их оборудование рекурсию не поддерживает. Засчитали, а позже дома я нашел где была ошибка. ;)
138 notatall
 
03.11.23
17:44
Олимпиадная задачка за 5 класс, а сколько проблем для взрослых одинесников создала :)))
Уровень мозгов уже не тот :(((