您可能知道兩個機器人在需要編程時遇到問題。兩個機器人在一條線上
使用降落傘將兩個機器人從飛機上掉落並落在一條線上(離散位置),該降落傘留在着陸點。機器人都面向北方,它們之間距離未知,一個直接落在另一個的東面。
機器人現在被編程,使他們相遇。可以指示他們向左或向右移動到相鄰位置,並檢查當前位置是否存在降落傘。如果符合另一個機器人,那麼兩個機器人都會在那裏停下來,並從此過上幸福的生活。
降落傘檢查可能有條件地執行任意數量的指令,並且任何指令塊可能無條件地重複。寫下一個機器人可以同時遵循的程序以及他們遇到的那些門衛。
您必須創建一個適用於兩個機器人的通用算法(有點pleonastic),以確保機器人會見。他們把降落傘放在他們掉落的地方,他們可以檢查當前位置是否有降落傘。
原來的聲明在這裏:http://en.wikibooks.org/wiki/Puzzles/Logic_puzzles/Parachuted_Robots 還有一個我不明白的解決方案。如果有人能夠理解它,請幫我解釋一下。任何其他解決方案將不勝感激。
我對這個問題,首先想到的是對機器人進行編程,以選擇隨機先去左邊或右邊,然後做出類似指數搜索:先去2個職位,以正確的,那麼4到左等。如果在機器人發現第二個降落傘(被另一個機器人使用的降落傘)中的一個「行程」,機器人將只在該方向上搜索。這有意義嗎?
非常感謝!
實際上,所提出的算法將無法使用所給出的指令來執行,因爲沒有辦法計算,因此無法進行指數搜索。 – 2015-10-31 07:58:25
同意,OP的指數搜索建議需要計數器。這裏提出的線性搜索沒有。 – ldgabbay 2015-11-05 16:34:14