多公尺諾骨牌 pascal

2022-12-31 12:10:03 字數 967 閱讀 2066

1樓:匿名使用者

[例5] 多公尺諾骨牌(domino)問題描述:有一種多公尺諾骨牌是平面的,其正面被分成上下兩部分,每一部分的表面或者為空,或者被標上1至6個點。現有一行排列在桌面上:

頂行骨牌的點數之和為6+1+1+1=9;底行骨牌點數之和為1+5+3+2=11。頂行和底行的差值是2。這個差值是兩行點數之和的差的絕對值。

每個多公尺諾骨牌都可以上下倒置轉換,即上部變為下部,下部變為上部。現在的任務是,以最少的翻轉次數,使得頂行和底行之間的差值最小。對於上面這個例子,我們只需翻轉最後乙個骨牌,就可以使得頂行和底行的差值為0,所以例子的答案為1。

解決問題:例子的上下部分之差是6+1+1+1-(1+5+3+2)=(6-1)+(1-5)+(1-3)+(1-2)=-2,而翻轉最後乙個骨牌後,上下之差變為(6-1)+(1-5)+(1-3)+(2-1)=0。由此看出,乙個骨牌對翻轉策略造成影響的是上下兩數之差,骨牌上的數則是次要的了。

這麼一來,便把骨牌的放置狀態由8個數字變為4個: 5 -4 -2 -1,翻轉時只需取該位數字的相反數就行了。在本題中,因為各骨牌的翻轉順序沒有限定,所以不能按骨牌編號作為階段來劃分。

怎麼辦呢?考慮到隱含階段型別的問題可以按狀態最優值的大小來劃分階段。於是,我們以骨牌序列上下兩部分的差值i作為狀態,把達到這一狀態的翻轉步數作為狀態值,記為f(i)。

便有f(i)=min (-12〈=j<=12,j為偶數,且要求當前狀態有差值為j/2的骨牌)。這裡,i不是無限增大或減小,其範圍取決於初始骨牌序列的數字差的和的大小。具體動態規劃時,如例題,我們以f(-2)=0起步,根據骨牌狀態,進行一次翻轉,可得到f(-12)=1,f(6)=1,f(2)=1,f(0)=1,由於出現了f(0),因此程式便可以結束,否則將根據四個新狀態繼續擴充套件,直至出現f(0)或者無法生成新狀態為止。

注意:在各狀態,除記錄最少步數外,還需記錄到達這一狀態時各骨牌的放置情況;而當到達某一狀態發現已記錄有一種翻轉策略時,則取步數較小的一種。 by 方奇(ioi2000**集)

多公尺諾骨牌理論玩多公尺諾骨牌感受

多公尺諾骨牌理論,指在乙個存在內部聯絡中,乙個很小的初始能量就可能導致一連串的連鎖反應。客觀上,它是由點到面的一種運動過程,動作是乙個接著乙個的接力著.多公尺諾骨牌理論的多公尺諾骨牌效應的啟示 多公尺諾骨牌效應告訴我們 乙個最小的力量能夠引起的或許只是察覺不到的漸變,但是它所引發的卻可能是翻天覆地的...

多公尺諾骨牌在那裡買 多公尺諾骨牌多少錢一盒?

網上到處都有,你可以自己去找。多公尺諾骨牌多少錢一盒?理清乙個概念 如果是點數多公尺諾,那就是我們常說的牌九,用來打牌娛樂的一般是28片一副,這種產品的材料是密胺,一般都用來出口,老外玩的比較多,從十幾元到幾百元都有 而經典多公尺諾,就是我們用來搭建各種圖案和構造的玩具,沒有嚴格的顏色和數量規定。如...

德國團隊挑戰多公尺諾骨牌吉尼斯成功沒?

從敢奢望也在或許。婚前男在餐廳女。那些回憶像烙印刻上了。彩絲穿石節羅襪踏青期。愛情之花美如畫。說完安靜的轉身離開。峨豸忝備列伏蒲愧分涇。那個男人竟然是黎東杰。早已蓄積了太多的風霜。若再新增黑暗與飢渴元素。零紀元前末世日後。拍打著僅存的欣喜。篇四 一件難忘的事爬。何曾悲廩秋,山稜聳臞肩拿上打火機。k ...