Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Шарики(задача по программированию)
|
|||
|---|---|---|---|
|
#18+
Dima Tа максимум дважды по каждой ячейке пройтись придется откуда взялось утверждение "максимум дважды" а если: 3011102222201113 схлопнули 11 и 222 после этого можем схлопнуть 000 потом можем схлопнуть 333 Как это сделать "максимум дважды" - мне не понять. Без рекурсии и списков - как два пальца обосновать. Но за один или "максимум дважды", мне не представить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2016, 12:10 |
|
||
|
Шарики(задача по программированию)
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsevа если: 3011102222201113 Недопустимое значение. Похоже ты ТЗ невнимательно прочитал ванмомас намбаванЕстественно, непрерывных цепочек из трех и более одноцветных шаров в начальный момент может быть не более одной . А у тебя их три. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2016, 12:22 |
|
||
|
Шарики(задача по программированию)
|
|||
|---|---|---|---|
|
#18+
Мне почему-то эта задача напомнила клеточные автоматы. Там невозможно никак спрогнозировать состояние вселенной на шаге N+2 до тех пор пока ты до конца не воспроизведешь шаг N+1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2016, 12:26 |
|
||
|
Шарики(задача по программированию)
|
|||
|---|---|---|---|
|
#18+
Тогда да. Беру свои слова обратно. Два прохода. Один найти цепочку, второй от цепочки в две стороны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2016, 12:26 |
|
||
|
Шарики(задача по программированию)
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevЭто как? вырезаешь из цепочки первую тройку, 1. ставишь 2 указателя на границах по очереди ходишь от них влево-вправо, до тех пор, пока есть одинаковые. как только насчитал 3 одинаковые штуки - вырезал, перешёл к шагу 1 в конце сложил 2 строчки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2016, 12:27 |
|
||
|
Шарики(задача по программированию)
|
|||
|---|---|---|---|
|
#18+
CEMbLeonid KudryavtsevЭто как? вырезаешь из цепочки первую тройку, 1. ставишь 2 указателя на границах по очереди ходишь от них влево-вправо, до тех пор, пока есть одинаковые. как только насчитал 3 одинаковые штуки - вырезал, перешёл к шагу 1 в конце сложил 2 строчки Мне кажется в конце надо еще раз искать "первую тройку". Доказать не могу но кажется что можем случайно пропустить еще одну эпоху схлопываний. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2016, 12:34 |
|
||
|
Шарики(задача по программированию)
|
|||
|---|---|---|---|
|
#18+
Тред не читал @ сразу отвечал ИМХО ничего не нужно схлопывать в памяти (реаллоцтровать). 1. Выделяем массив под шарики. 2. Ищем место "схлопа" (3 шарика подряд одинакового цвета). 3. Запускаем "волны" в обе стороны со счётчиками (как от камня, брошенного в воду). Единственная заминка может быть именно этими "волнами", которые должны быть как-то синхронизированы и двигаться параллельно. Если одна "волна" "заглохла" (упёрлась в границу), то другой уже продолжать двигаться не имеет смысла, потому что на её пути никогда не встретится 3 одинаковых шарика подряд (из условий задачи по игре, не может быть в один момент времени сразу 2 и более набора шариков для схлопывания). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2016, 12:38 |
|
||
|
Шарики(задача по программированию)
|
|||
|---|---|---|---|
|
#18+
Краевой случай. Для 1000 элементов и количества троек ( 1000/(3+1) = 250) разделённых одним шариком нам нужно контролировать 500 волн (по две волны на тройку). Где эту информацию хранить? В отдельных структурах или в самом списке? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2016, 12:53 |
|
||
|
Шарики(задача по программированию)
|
|||
|---|---|---|---|
|
#18+
Мне до сих пор не даёт покоя, что это компьютерная игра. "В одной компьютерной игре игрок выставляет в линию шарики разных цветов. Когда образуется непрерывная цепочка из трех и более шариков одного цвета, она удаляется из линии." Вы тащите шарик в линию мышкой. То есть, как только появляется последовательность из 3-х шариков, она тут же схлопывается и тянет за собой остальные по цепочке. Не может получиться так что в один момент времени будет сразу две и более последовательности в это линии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2016, 13:01 |
|
||
|
Шарики(задача по программированию)
|
|||
|---|---|---|---|
|
#18+
Lines, Coloris, Zuma. Тысячи их. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2016, 13:35 |
|
||
|
Шарики(задача по программированию)
|
|||
|---|---|---|---|
|
#18+
maytonКраевой случай. Для 1000 элементов и количества троек ( 1000/(3+1) = 250) разделённых одним шариком нам нужно контролировать 500 волн (по две волны на тройку). Где эту информацию хранить? В отдельных структурах или в самом списке? Не надо хранить 500, смотри по другому: 1. находим цепочку, назначаем ее краями дырки 2. проверяем края дырки на расширяемость, если расширяется - расширяем и снова п.2. 3. возвращаем размер дырки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2016, 13:50 |
|
||
|
Шарики(задача по программированию)
|
|||
|---|---|---|---|
|
#18+
Пора делать макет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2016, 13:53 |
|
||
|
Шарики(задача по программированию)
|
|||
|---|---|---|---|
|
#18+
Dima TmaytonКраевой случай. Для 1000 элементов и количества троек ( 1000/(3+1) = 250) разделённых одним шариком нам нужно контролировать 500 волн (по две волны на тройку). Где эту информацию хранить? В отдельных структурах или в самом списке? Не надо хранить 500, смотри по другому: 1. находим цепочку, назначаем ее краями дырки 2. проверяем края дырки на расширяемость, если расширяется - расширяем и снова п.2. 3. возвращаем размер дырки. Рекурсией это делается красиво. Но доказано, что любой рекурсивный алгоритм можно заменить на нерекурсивный. К тому же рекурсия в данном случае тоже линейный алгоритм. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2016, 14:04 |
|
||
|
Шарики(задача по программированию)
|
|||
|---|---|---|---|
|
#18+
maytonПора делать макет. Тут кода 20-30 строк. Пусть ТС делает. Алгоритм подробно выше расписан. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2016, 14:07 |
|
||
|
Шарики(задача по программированию)
|
|||
|---|---|---|---|
|
#18+
Dima TmaytonПора делать макет. Тут кода 20-30 строк. Пусть ТС делает. Алгоритм подробно выше расписан. Ему не под силу. Он школьников по росту сортировал и неосилил тесты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2016, 14:20 |
|
||
|
Шарики(задача по программированию)
|
|||
|---|---|---|---|
|
#18+
нафига волны? простой перебор цепочки с проверкой и подсчетом при схлопывании достаточно два шага назад. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2016, 01:13 |
|
||
|
Шарики(задача по программированию)
|
|||
|---|---|---|---|
|
#18+
Малыхин Сергей, "волна" и "перебор цепочки" это очень красивые поэтические метафоры брат. Они достойны литературного форума. Но может мы спустимся на землю хотя-бы до алгоритмического языка (АЯ) или псевдокода в лучших традициях википедии? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2016, 01:31 |
|
||
|
Шарики(задача по программированию)
|
|||
|---|---|---|---|
|
#18+
Малыхин Сергейпростой перебор цепочки с проверкой и подсчетом при схлопывании достаточно два шага назад. Согласен с этим алгоритмом. Никаких рекурсий, двух и более проходов и прочих волн. Один проход + состояние в массиве. maytonНо может мы спустимся на землю хотя-бы до алгоритмического языка (АЯ) или псевдокода в лучших традициях википедии? Скукота. Пусть ТС пишет )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2016, 02:58 |
|
||
|
Шарики(задача по программированию)
|
|||
|---|---|---|---|
|
#18+
maytonПора делать макет.Да, пойду заведу проект в Стиме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2016, 06:07 |
|
||
|
Шарики(задача по программированию)
|
|||
|---|---|---|---|
|
#18+
maytonDima Tпропущено... Тут кода 20-30 строк. Пусть ТС делает. Алгоритм подробно выше расписан. Ему не под силу. Он школьников по росту сортировал и неосилил тесты. Задача про школьников работала нормально,проблема была в размере массива ,я просто недочитал условие ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2016, 07:27 |
|
||
|
Шарики(задача по программированию)
|
|||
|---|---|---|---|
|
#18+
Про волну алгоритм зачётный ,наду будет закодить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2016, 07:28 |
|
||
|
Шарики(задача по программированию)
|
|||
|---|---|---|---|
|
#18+
mayton, Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2016, 10:01 |
|
||
|
Шарики(задача по программированию)
|
|||
|---|---|---|---|
|
#18+
Siemargl, яж не славянофил. Мог-бы и латиницей писать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2016, 10:35 |
|
||
|
Шарики(задача по программированию)
|
|||
|---|---|---|---|
|
#18+
Пока чай заваривается набросал алгоритм, сорри что не по-русски )) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2016, 14:20 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=39194280&tid=2018575]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
54ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 266ms |
| total: | 417ms |

| 0 / 0 |
