Страница 1 от 3 123 ПоследноПоследно
Резултати от 1 до 15 от общо 37

Задача 107 (Роботи)

Сподели във Facebook Сподели в Twitter Изпрати на Email Сподели в LinkedIn
  1. Member
    Тук е от
    Oct 2004
    Мнения
    367
    #1

    Задача 107 (Роботи)

    Представете си безкрайна линия на която са нанесени последователно всички цели числа. Сега си преставете второ нещо. Два робота се приземяват на линията с парашути в различни точки и без да губят време хвърлят парашутите едновременно в точката на приземяване и започват да изпълняват програмата заложена в малките им позитронни мозъчета. Въпросната програма е написана на много прост език, който има само четири оператора:



    [етикет:] Left

    [етикет:] Right

    [етикет:] Goto етикет

    [етикет:] BGoto етикет



    При изпълнение на оператора Left, робота прави стъпка вляво по линията, като се премества на число по-малко с единица. Оператора Right води до стъпка в другата посока. Операторa Goto е за безусловен преход в програмата към етикета указан след него. Оператора BGoto е за условен преход в програмата. Ако при изпълнение на този оператор робота се намира на точка с еднния от двата парашута, то само тогава се извършва преход към етикета след оператора, ако не се намира на точка с парашут се изпълнява слеващата команда от програмата. Изпълнението на всяка команда отнема една секунда, независимо дали е преместване по линията или преход в програмата. Роботите изпълняват командите едновременно.



    Представете си трето нещо. Програмите на роботите са напълно еднакви.



    Вашата задача е да напишете програма с възможно най-малко команди , при изпълнението на която, ще настъпи момент в който роботите ще се намират на една и съща точка от линията.


  2.  
     
  3. Junior Member
    Тук е от
    Nov 2004
    Мнения
    36
    #2

    Задача 107 (Роботи)

    Не знам за другите (дано да съм само аз... ), но не разбрах ясно условието и по-точно условните и безусловните преходи... може ли пример какво точно се случва при тях...

  4. Senior Member Аватара на Bibi
    Тук е от
    Nov 2004
    Мнения
    2,757
    #3

    Задача 107 (Роботи)

    Понеже ми се искаше да направя програма, която среща двамата след най-малко стъпки, стигнах до една, която мисля, че отговаря и на двете условия: има 5 реда код и е със сложност O(n), където n е разстоянието, на което са се приземили. По-точно, ако се движат по нея, ще се срещнат на стъпка 9n-6.

    Няма да я казвам сега, за да не влияя на останалите. Ще ми се някой да измисли нещо по-късо.



    /Ето един пример:

    01: Left

    02: Right

    03: Goto 12

    ....

    12: Left

    13: BGoto 02

    14: Right



    Изпълняват се стъпки 01, 02, 03, 12 (безусловния преход в 03 ни води там), 13

    Сега, ако роботчето е попаднало в точка с парашут, ще изпълни стъпка 02, ако точката е без парашут, ще продължи надолу със стъпка 14.

  5. Senior Member
    Тук е от
    Dec 2003
    Мнения
    1,687
    #4

    Задача 107 (Роботи)

    Цялата идея е, че и двата робота ще вървят в една посока (ляво/дясно) докато единият стигне до парашута на другия, при което трябва да зацикли там (ход наляво, ход надясно) докато другият робот се връща обратно до собствения си парашут, където ще се срещнат.

    Не съм много на ТИ с програмирането, но като остана с малко повече време ще пробвам да измисля нещо на базата на четирите възможни оператора. [)]

  6. Member
    Тук е от
    Oct 2004
    Мнения
    367
    #5

    Задача 107 (Роботи)

    Биби ви е дала хубав жокер - най-кратката програма е с 5 реда



    @BerkStock

    Не забравяй, че програмите им са еднакви

  7. Senior Member
    Тук е от
    Aug 2003
    Мнения
    1,233
    #6

    Задача 107 (Роботи)

    Хм... Доста интересна задачка.



    Kодът по-долу изпълнява условието, тогава, когато двамата парашутисти са се приземили на две съседни точки:



    1: left

    2: bgoto 2

    3: right

    4: right

    5: goto 1



    Довечера ще помисля и за общо решение (ако има)...



    <font color="blue">//offtopic

    баси и ш***ния бейсик...[}]</font id="blue">

  8.  
     
  9. Member
    Тук е от
    Oct 2004
    Мнения
    367
    #7

    Задача 107 (Роботи)

    Има, има...

  10. Member
    Тук е от
    Dec 2004
    Мнения
    741
    #8

    Задача 107 (Роботи)

    Здравейте,

    Макар, че чета форума много отдавна чак сега се престраших да се проявя и като чукча-писател[]

    Моето предложение е следното:



    Очевидно е, че и двата робота тръгват в една и съща посока - програмата им е еднаква. Когато единия от тях стигне до парашута на "колегата" започва да се движи по-бързо. Другия не достига до парашут и продължава със същата скорост. Въпрос на време е първия да настигне втория.

    Реализацията:



    01: LEFT

    02: BGOTO 04

    03: GOTO 01



    04: LEFT

    05: GOTO 04



    LEFT спокойно може да се замени с RIGHT без това да промени нещата.

    Първият цикъл (01:-03 се изпълнява за 3 сек. и води до една стъпка на робота. При излизането от него (достигане на парашут) се влиза във втория (04:-05, който се изпълнява за 2 сек. и води също до една стъпка на робота. От него вече излизане няма - роботите ще подскачат по линията докато им свършат батериите, но за това не се казва нищо в условието на задачата[]

    Не ми се смята след колко време ще се "настигнат", но чакам Bibi с интерес...

  11. Member Аватара на Krusteva
    Тук е от
    Oct 2004
    Мнения
    514
    #9

    Задача 107 (Роботи)

    <blockquote id="quote"><font size="1" id="quote"><b id="quote">quote:</b id="quote"></font id="quote"><table border="0" id="quote"><tr id="quote"><td class="quote" id="quote"><font size="1" id="quote">Не ми се смята след колко време ще се "настигнат", но чакам Bibi с интерес...



    <div align="right">Originally posted by pimpirlit*-*08/12/2004*:* 17:45:58</div id="right">

    </td id="quote"></tr id="quote"></table id="quote"></blockquote id="quote"><font size="2" id="quote"></font id="quote">



    Добре дошъл, pimpirlit !

    Струва ми се вярно решението ти, вярно е също и че свежа кръв тук е винаги приятна изненада []

    Cvetanov е дал задачката, но щом ще чакаш 'каката'...[]

  12. Senior Member Аватара на Bibi
    Тук е от
    Nov 2004
    Мнения
    2,757
    #10

    Задача 107 (Роботи)

    @pimpirlit,

    Моето решение е съвсем същото! []



    В началото Цветанов беше формулирал задачата "да се намери най-кратката програма..." и аз не знаех какво търси - с най-малко оператори или за най-кратко време да се срещнат. Затова се заиграх и с двете и после ми стана интересно.



    Не знам защо се изплашиха хората? Тази задача не е за програмисти!

    Там най-трудното е да се запомнят операторите, останалото е само мислене.

    А тук са ни дали само 4 действия...



    Аз също приветствам новия войн на фронта на Мисълта! []

    А и това е първото вярно решение на днешната задача.

  13. Member
    Тук е от
    Dec 2004
    Мнения
    741
    #11

    Задача 107 (Роботи)

    <blockquote id="quote"><font size="1" id="quote"><b id="quote">quote:</b id="quote"></font id="quote"><table border="0" id="quote"><tr id="quote"><td class="quote" id="quote"><font size="1" id="quote">

    Cvetanov е дал задачката, но щом ще чакаш 'каката'...[]



    <div align="right">Originally posted by Krusteva*-*08/12/2004*:* 17:05:48</div id="right">

    </td id="quote"></tr id="quote"></table id="quote"></blockquote id="quote"><font size="2" id="quote"></font id="quote">

    Aми "каката" беше загадъчно-недоизказано-объркваща в първия си пост. [] Не можах да ги докарам тия 9n-6 и това си е []

    A иначе, естествено, че Cvetanov ще въздаде справедливост...

  14.  
     
  15. Member Аватара на Krusteva
    Тук е от
    Oct 2004
    Мнения
    514
    #12

    Задача 107 (Роботи)

    <blockquote id="quote"><font size="1" id="quote"><b id="quote">quote:</b id="quote"></font id="quote"><table border="0" id="quote"><tr id="quote"><td class="quote" id="quote"><font size="1" id="quote">A иначе, естествено, че Cvetanov ще въздаде справедливост...



    <div align="right">Originally posted by pimpirlit*-*08/12/2004*:* 18:24:46</div id="right">

    </td id="quote"></tr id="quote"></table id="quote"></blockquote id="quote"><font size="2" id="quote"></font id="quote">



    Шегувах се, имах предвид, че да чакаш 'кака'-та си е по-гот (мисля , че си мъж все пак [])

  16. Senior Member Аватара на Wise
    Тук е от
    Oct 2004
    Мнения
    3,124
    #13

    Задача 107 (Роботи)

    Не знам за какво говорите

    някой ще напише ли ясно предложението си -да не си напрягам клетчиците си..........

    ще ми трябват тези дни.......



    01: LEFT

    02: BGOTO 04

    03: GOTO 01



    ами тук единият си ходи наляво.....

    или не ставам за програмист

  17. Senior Member Аватара на Bibi
    Тук е от
    Nov 2004
    Мнения
    2,757
    #14

    Задача 107 (Роботи)

    @pimpirlit,

    Ако ти е звучало загадъчно това, което казвах за броя на стъпките, може би просто нещо съм сбъркала. Аз го смятам така:

    След 3n-2 стъпки, този, дето "догонва" другия, ще настъпи мотиката (пардон, парашута).

    После за всеки 6 такта първия се премества с 2 точки, а втория - с 3. Разликата им се стопява с по една точка на всеки 6 секунди. Така след 6n-4 такта те ще се целунат.

    Общо 9n-6.



    @WIse,

    И двамата работят по една и съща програма и ходят в еднаква посока.

    Просто по едно време задният намира парашута и това го довежда в по-къс клон от програмата, и той ускорява крачка.

    Предният продължава да си марширува със старото темпо.

  18. Senior Member Аватара на Wise
    Тук е от
    Oct 2004
    Мнения
    3,124
    #15

    Задача 107 (Роботи)

    не отлепям..........

    единият си ходи наляво до упор по този алгоритъм

Сподели във Facebook Сподели в Google Plus Сподели в Twitter Изпрати на Email Сподели в LinkedIn
Страница 1 от 3 123 ПоследноПоследно

Подобни теми

  1. Роботи-убийци!
    От ivodivo във форум Дъра-Бъра
    Отговори: 28
    Последно: 17-07-14, 15:33
  2. Задача 270 (Следваща задача)
    От tricklys във форум Логически задачи
    Отговори: 18
    Последно: 22-06-05, 12:43
  3. Задача №183 (Нелогическа задача)
    От Cko във форум Логически задачи
    Отговори: 17
    Последно: 23-02-05, 17:16
  4. Задача №62
    От dedis във форум Логически задачи
    Отговори: 3
    Последно: 29-10-04, 13:23
  5. Задача №61
    От Raid във форум Логически задачи
    Отговори: 6
    Последно: 28-10-04, 15:57

SetCombG.com
SetCombG.com е портален сайт и Форум за битова техника, телевизори, климатици, лаптопи и смартфони, създаден през 1999 година.
Заедно сме над 20 години!
Следвай ни
Горе