Форум Академгородка, Новосибирск > Предлагаю всем решить интересную задачку
Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Предлагаю всем решить интересную задачку
Форум Академгородка, Новосибирск > Образование > Задачник
EVGен
Сегодня решал задачку, которая мне показалась интересной. Условие задачи следующее:
В ряд вырыто семь разных окопов, есть враг, который сидит в одном из них. Мы делаем выстрел по одному из окопов. Если мы попали в окоп, в котором сидит враг, то мы его убиваем (выигрываем), а если же попадаем в иной окоп, то он (враг) обязательно перебегает в соседний окоп (вправо или влево). Если после первого выстрела враг остался жив, то мы производим второй выстрел, третий и т.д. пока не убьем врага. Надо придумать стратегию выстрелов, которая бы гарантировала смерть врага.

Для тех, кого пугает в задаче слово "убить", можно заменить его на "нейтрализовать".

P.s. я придумал одну стратегию, но говорят, что существуют и другие. Предлагаю всем порешать smile.gif.
Eyeless Watcher
Окопы закольцованы или из крайних можно попасть только в один соседний?
Вероятности перемещения вправо и влево известны?

Навскидку я бы шмалял по центральному постоянно. Рано или поздно он в нем, вроде как, окажется
EVGен
1) Окопы расположены в ряд (1 2 3 4 5 6 7), то есть из окоп с номерами 1 и 7 можно попасть в окопы с номерами 2 и 6 соответственно.
2) Из окопов 1 и 7 он перемещается однозначно, а из остальных он может с равной вероятностью перемещаться вправо и влево.
3) Пока Вы будете стрелять все время по центру, враг может бесконечно бегать: 1 2 1 2 1 2 1 2 1 2 ... Такая стратегия не гарантирует смерти врага smile.gif
Goger
Примерно так: 76543211234567. Идём справа налево. Если он "проскочил", значит, с чётностью не угадали. Меняем чётность двукратным повторением первой ячейки и снова делаем "обход". Теперь уже не прогадаем.
Eyeless Watcher
Цитата(EVGен @ 28.12.2009, 13:54) *
3) Пока Вы будете стрелять все время по центру, враг может бесконечно бегать: 1 2 1 2 1 2 1 2 1 2 ... Такая стратегия не гарантирует смерти врага smile.gif

Не может. Про пьяного матроса задачу знаете? Переходя с равной вероятностью либо вперед, либо назад, он удаляется от исходной точки, причем x(t) = A*sqrt(t). Здесь тоже самое, поэтому через достаточно большое время он побывает во всех окопах. Так что стрелять можно куда угодно, лишь бы постоянно.
Goger
Цитата(Eyeless Watcher @ 28.12.2009, 14:00) *
Цитата(EVGен @ 28.12.2009, 13:54) *
3) Пока Вы будете стрелять все время по центру, враг может бесконечно бегать: 1 2 1 2 1 2 1 2 1 2 ... Такая стратегия не гарантирует смерти врага smile.gif

Не может. Про пьяного матроса задачу знаете? Переходя с равной вероятностью либо вперед, либо назад, он удаляется от исходной точки, причем x(t) = A*sqrt(t). Здесь тоже самое, поэтому через достаточно большое время он побывает во всех окопах. Так что стрелять можно куда угодно, лишь бы постоянно.

Тут не написано, что он меняет место дислокации с равной вероятностью. Он может обладать каким-то интеллектом. Да и решение, я полагаю, требуется конечное.
Eyeless Watcher
Цитата(Goger @ 28.12.2009, 14:01) *
Цитата(Eyeless Watcher @ 28.12.2009, 14:00) *
Цитата(EVGен @ 28.12.2009, 13:54) *
3) Пока Вы будете стрелять все время по центру, враг может бесконечно бегать: 1 2 1 2 1 2 1 2 1 2 ... Такая стратегия не гарантирует смерти врага smile.gif

Не может. Про пьяного матроса задачу знаете? Переходя с равной вероятностью либо вперед, либо назад, он удаляется от исходной точки, причем x(t) = A*sqrt(t). Здесь тоже самое, поэтому через достаточно большое время он побывает во всех окопах. Так что стрелять можно куда угодно, лишь бы постоянно.

Тут не написано, что он меняет место дислокации с равной вероятностью. Он может обладать каким-то интеллектом.

А это что?
Цитата(EVGен @ 28.12.2009, 13:54) *
2) Из окопов 1 и 7 он перемещается однозначно, а из остальных он может с равной вероятностью перемещаться вправо и влево.




Goger
Цитата(Eyeless Watcher @ 28.12.2009, 14:02) *
Цитата(Goger @ 28.12.2009, 14:01) *
Цитата(Eyeless Watcher @ 28.12.2009, 14:00) *
Цитата(EVGен @ 28.12.2009, 13:54) *
3) Пока Вы будете стрелять все время по центру, враг может бесконечно бегать: 1 2 1 2 1 2 1 2 1 2 ... Такая стратегия не гарантирует смерти врага smile.gif

Не может. Про пьяного матроса задачу знаете? Переходя с равной вероятностью либо вперед, либо назад, он удаляется от исходной точки, причем x(t) = A*sqrt(t). Здесь тоже самое, поэтому через достаточно большое время он побывает во всех окопах. Так что стрелять можно куда угодно, лишь бы постоянно.

Тут не написано, что он меняет место дислокации с равной вероятностью. Он может обладать каким-то интеллектом.

А это что?
Цитата(EVGен @ 28.12.2009, 13:54) *
2) Из окопов 1 и 7 он перемещается однозначно, а из остальных он может с равной вероятностью перемещаться вправо и влево.


Да, не заметил. В принципе, справедливо. Но, думаю, решение нужно конечное.
Eyeless Watcher
Цитата(Goger @ 28.12.2009, 14:04) *
Да, не заметил. В принципе, справедливо. Но, думаю, решение нужно конечное.

Я гарантирую, что 50 выстрелов хватит smile.gif
Goger
Цитата(Eyeless Watcher @ 28.12.2009, 14:05) *
Цитата(Goger @ 28.12.2009, 14:04) *
Да, не заметил. В принципе, справедливо. Но, думаю, решение нужно конечное.

Я гарантирую, что 50 выстрелов хватит smile.gif

Гарантируете с почти 100%-ной вероятностью. А я гарантирую со 100%-ной вероятностью, что 14 хватит при моём решении.
Analyt
Цитата(Goger @ 28.12.2009, 13:59) *
Примерно так: 76543211234567. Идём справа налево. Если он "проскочил", значит, с чётностью не угадали. Меняем чётность двукратным повторением первой ячейки и снова делаем "обход". Теперь уже не прогадаем.

Он может перемещаться в место предыдущего выстрела во всех случаях, кроме крайних.

По-моему, стопроцентно выигрышной стратегии для стрелка не существует.
EVGен
Цитата(Eyeless Watcher @ 28.12.2009, 14:00) *
Цитата(EVGен @ 28.12.2009, 13:54) *
3) Пока Вы будете стрелять все время по центру, враг может бесконечно бегать: 1 2 1 2 1 2 1 2 1 2 ... Такая стратегия не гарантирует смерти врага smile.gif

Не может. Про пьяного матроса задачу знаете? Переходя с равной вероятностью либо вперед, либо назад, он удаляется от исходной точки, причем x(t) = A*sqrt(t). Здесь тоже самое, поэтому через достаточно большое время он побывает во всех окопах. Так что стрелять можно куда угодно, лишь бы постоянно.

Хорошо, не правильно выразился, при Вашей стратегии нельзя сказать что за N выстрелов мы 100% убьем врага. При такой пальбе по врагу, чисто теоритически, мы можем разориться на выстрелах, а враг останется жив. Это ведь не хорошо smile.gif
Goger
Цитата(Analyt @ 28.12.2009, 14:19) *
Цитата(Goger @ 28.12.2009, 13:59) *
Примерно так: 76543211234567. Идём справа налево. Если он "проскочил", значит, с чётностью не угадали. Меняем чётность двукратным повторением первой ячейки и снова делаем "обход". Теперь уже не прогадаем.

Он может перемещаться в место предыдущего выстрела во всех случаях, кроме крайних.

По-моему, выигрышной стратегии для стрелка не существует.

Не понял. Предложите вариант перемещения врага, при котором он избежит гибели при моём алгоритме. То есть число длины 14, состоящее только из цифр от 1 до 7, такое, чтобы все цифры на соседних разрядах различались на единицу, при этом ни на одном разряде не стояло того же числа, что стоит на аналогичном разряде числа 12345677654321.
Analyt
Цитата(Goger @ 28.12.2009, 14:21) *
Цитата(Analyt @ 28.12.2009, 14:19) *
Цитата(Goger @ 28.12.2009, 13:59) *
Примерно так: 76543211234567. Идём справа налево. Если он "проскочил", значит, с чётностью не угадали. Меняем чётность двукратным повторением первой ячейки и снова делаем "обход". Теперь уже не прогадаем.

Он может перемещаться в место предыдущего выстрела во всех случаях, кроме крайних.

По-моему, выигрышной стратегии для стрелка не существует.

Не понял. Предложите вариант перемещения врага, при котором он избежит гибели при моём алгоритме.

676543232345...
Goger
Цитата(Analyt @ 28.12.2009, 14:27) *
Цитата(Goger @ 28.12.2009, 14:21) *
Цитата(Analyt @ 28.12.2009, 14:19) *
Цитата(Goger @ 28.12.2009, 13:59) *
Примерно так: 76543211234567. Идём справа налево. Если он "проскочил", значит, с чётностью не угадали. Меняем чётность двукратным повторением первой ячейки и снова делаем "обход". Теперь уже не прогадаем.

Он может перемещаться в место предыдущего выстрела во всех случаях, кроме крайних.

По-моему, выигрышной стратегии для стрелка не существует.

Не понял. Предложите вариант перемещения врага, при котором он избежит гибели при моём алгоритме.

676543232345...
Analyt
Цитата(Goger @ 28.12.2009, 14:29) *
Цитата(Analyt @ 28.12.2009, 14:27) *
Цитата(Goger @ 28.12.2009, 14:21) *
Цитата(Analyt @ 28.12.2009, 14:19) *
Цитата(Goger @ 28.12.2009, 13:59) *
Примерно так: 76543211234567. Идём справа налево. Если он "проскочил", значит, с чётностью не угадали. Меняем чётность двукратным повторением первой ячейки и снова делаем "обход". Теперь уже не прогадаем.

Он может перемещаться в место предыдущего выстрела во всех случаях, кроме крайних.

По-моему, выигрышной стратегии для стрелка не существует.

Не понял. Предложите вариант перемещения врага, при котором он избежит гибели при моём алгоритме.

676543232345...


Да, Вы правы. Эта стратегия похожа на выигрыш темпа в шахматах.
Goger
Цитата(Analyt @ 28.12.2009, 14:40) *
Да, Вы правы. Эта стратегия похожа на выигрыш темпа в шахматах.

Можно я сделаю "Ня-ня-ня-ня-ня-ня" в стиле Эрика Картмана? smile.gif
Кстати, ТС такую же стратегию придумал, интересно?
Analyt
Цитата(Goger @ 28.12.2009, 14:44) *
Можно я сделаю "Ня-ня-ня-ня-ня-ня" в стиле Эрика Картмана? smile.gif

Можно даже как Нельсон Манс. biggrin.gif
EVGен
Моя стратегия состояла из двух частей:
1) первая череда выстрелов 1234567 убивает врага, если он был изначально в нечетном окопе
2) вторая череда выстрелов 11234567 убивает врага, если он был изначально в четном окопе

Goger привел такую же стратегию, ну точнее почти такую же smile.gif
EVGен
Цитата(Дворник @ 28.12.2009, 14:55) *
Стрелять в крайние (1 и 7) не надо вообще, только патроны тратить.
Стратегия как два пальца: по два выстрела в каждый окоп, начиная со 2.
2233445566 Это максимум.

Пусть враг бегает так: 4321212121212... Своей стратегией Вы его не убьете smile.gif
Дмитрий Майничев
Вообще существует бесконечное множество таких стратегий.
Есть две подсетки движения по окопам, определяемых чётностью начального положения, как тут уже указали. Можно вначале одну нейтрализовать (на картинке показаны красным выстрелы), потом другую, а можно сразу обе - тоже правильно...
Дворник
Цитата(EVGен @ 28.12.2009, 15:04) *
Пусть враг бегает так: 4321212121212... Своей стратегией Вы его не убьете smile.gif


Вот какой подлый враг...

Goger
Цитата(EVGен @ 28.12.2009, 15:02) *
Моя стратегия состояла из двух частей:
1) первая череда выстрелов 1234567 убивает врага, если он был изначально в нечетном окопе
2) вторая череда выстрелов 11234567 убивает врага, если он был изначально в четном окопе

Goger привел такую же стратегию, ну точнее почти такую же smile.gif

Во второй раз не надо два раза стрелять в первый окоп.
234567654321234
EVGен
Цитата(Goger @ 28.12.2009, 15:16) *
Цитата(EVGен @ 28.12.2009, 15:02) *
Моя стратегия состояла из двух частей:
1) первая череда выстрелов 1234567 убивает врага, если он был изначально в нечетном окопе
2) вторая череда выстрелов 11234567 убивает врага, если он был изначально в четном окопе

Goger привел такую же стратегию, ну точнее почти такую же smile.gif

Во второй раз не надо два раза стрелять в первый окоп.
234567654321234

Точно smile.gif я просто когда решал задачу, то сначала делал вторую очередь, потом первую. Та стратегия верна, так как 8 выстрелов не меняют четности окопа, перед второй очередью.. Если стрелять как я написал, то во второй очереди надо в 1-ку стрелять только один раз smile.gif
Дворник
Цитата(Goger @ 28.12.2009, 13:59) *
Примерно так: 76543211234567. Идём справа налево. Если он "проскочил", значит, с чётностью не угадали. Меняем чётность двукратным повторением первой ячейки и снова делаем "обход". Теперь уже не прогадаем.


Только последний выстрел в этой серии 100% лишний, т.к. изначально чётный враг и будет убит в чётном окопе. А так, похоже, вы-таки правы.
Goger
Цитата(Дворник @ 28.12.2009, 15:48) *
Цитата(Goger @ 28.12.2009, 13:59) *
Примерно так: 76543211234567. Идём справа налево. Если он "проскочил", значит, с чётностью не угадали. Меняем чётность двукратным повторением первой ячейки и снова делаем "обход". Теперь уже не прогадаем.


Только последний выстрел в этой серии 100% лишний, т.к. изначально чётный враг и будет убит в чётном окопе. А так, похоже, вы-таки правы.

Согласен.
Dennis
6,6,5,4,3,2,2,3,4,5,6
кажется так быстрее?
66 и 22 позволяет убить врага в 7 и 1й ячейке без лишней траты боезапаса smile.gif
DAT
Теперь следующий шаг - анализ.
10 выстрелов - это минимальная стратегия? Доказать.
Обобщения. А если враг прыгает ровно через два окопа? А через к? А если несколько вариантов? Один - вправо, два - влево?
Интерпретация. Графики. Непрерывность.
victor230
шмаляем по два выстрела начиная с первого окопа
1ый окоп БАХ-БАХ
2ой БУХ-БУХ
3ий бац-бац
и так давим гада до последнего окопа
помоему 13 залпов хватает завалить самого хитрого ренегата
EVGен
Цитата(victor230 @ 12.01.2010, 4:41) *
шмаляем по два выстрела начиная с первого окопа
1ый окоп БАХ-БАХ
2ой БУХ-БУХ
3ий бац-бац
и так давим гада до последнего окопа
помоему 13 залпов хватает завалить самого хитрого ренегата

Неверная стратегия, так как при перемещении врага 6-5-4-3-2-1-2-1-2-... Вы его не убиваете => Ваша стратегия не гарантирует 100% смерть врага!
Анна_hh
Стрелять нужно дважды в первый, дважды в третий, дважды в пятый и дважды в седьмой, потом в 6й, 5й, 4й, 3й, 2й и 1й. Тогда точно противник будет убит!)
EVGен
Цитата(Анна_hh @ 23.01.2010, 10:33) *
Стрелять нужно дважды в первый, дважды в третий, дважды в пятый и дважды в седьмой, потом в 6й, 5й, 4й, 3й, 2й и 1й. Тогда точно противник будет убит!)

Неверная стратегия, так как при перемещении врага 5-4-5-4-3-2-3-2-3-4-5-6-5-6-5. Вы его не убиваете => Ваша стратегия не гарантирует 100% смерть врага!
SailorOtec
Стрелять сразу во все окопы! rolleyes.gif
zmii
Goger сразу правильно сказал
у меня с ним решение совпало
1..77..1
Гатальский 93
Цитата(zmii @ 31.01.2010, 0:59) *
Goger сразу правильно сказал
у меня с ним решение совпало
1..77..1

да ведь уже не впервый раз говорят так и в ответ получают, что решение не верно.
первый шаг должен начинаться с 2-2, либо 6-6, и после чего поочередно стрелять по окопам, если я конечно не ошибаюсь
zmii
Цитата(Гатальский 93 @ 31.01.2010, 15:40) *
Цитата(zmii @ 31.01.2010, 0:59) *
Goger сразу правильно сказал
у меня с ним решение совпало
1..77..1

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

1..77..2
действительно, он будет в чётном окопе если чо
$erges
По крайним не нужно вообще стрелять.
2345665432 либо 6543223456 это самые короткие стратегии.
zmii
Цитата($erges @ 13.02.2010, 2:39) *
По крайним не нужно вообще стрелять.
2345665432 либо 6543223456 это самые короткие стратегии.

это действительно так, хорошая задачка
Gogerвсё ещё жив
Цитата(Гатальский 93 @ 31.01.2010, 14:40) *
Цитата(zmii @ 31.01.2010, 0:59) *
Goger сразу правильно сказал
у меня с ним решение совпало
1..77..1

да ведь уже не впервый раз говорят так и в ответ получают, что решение не верно.

Не согласен. Решение верно, но не оптимально.
totus
1..77..1 - это неправильный ответ. Стреляйте постоянно в один и тот же 1 окоп. и вы его уничтожите, он сам нарвется на пулю он ведь передвигается, а вам зачем?
EVGен
Цитата(totus @ 16.04.2010, 1:20) *
1..77..1 - это неправильный ответ.

Данная стратегия приводит к 100%-ой смерти врага за конечное число выстрелов.
Цитата(totus @ 16.04.2010, 1:20) *
Стреляйте постоянно в один и тот же 1 окоп. и вы его уничтожите, он сам нарвется на пулю он ведь передвигается, а вам зачем?

Если в данной задаче врагу еще добавить интеллект и возможность получения какой-нибудь информации о предыдущем выстреле (слева или справа, близко или далеко произошел выстрел..), то ваша стратегия сразу станет 100% неверной. А вышеприведенная останется применимой..
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Русская версия IP.Board © 2001-2024 IPS, Inc.