作者:xuzhetctctc
來源:starfield吧
首先說一些常識,如圖:
當你選擇任意一個鑰匙時,每層鎖都會出現兩種顏色,灰和藍,藍色代表這個鑰匙在這層鎖一定能找到一個角度使它能插進這層鎖,而灰色則反之。
而上述的條件這是我們簡化開鎖過程的關鍵。
鑰匙只有1到4個槽,對於高級鎖有些鑰匙會成為干擾項,當這些干擾項是3或4個槽的鑰匙時這會大大加劇開鎖的難度,所以我們的第一步是判斷3到4槽鑰匙的“好壞”。
對於高級鎖,我們先觀察兩個突破口:1.從裡到外,從鎖孔最少的鎖開始,例如有些鎖孔只有兩個,但你找不到2槽的鑰匙和它匹配,這就說明這層鎖一定要浪費兩個1槽的鑰匙,這就固定一層鎖的解法,越少孔的鎖就越能固定一種解法。
還是拿剛剛那幅圖舉例
這就算固定一層鎖的解法了,當然實際情況會更複雜,例如最少的孔是4個,有一個3槽鑰匙符合,但另個1槽鑰匙有必須在其他地方用,這就說明一定要用兩個2槽鑰匙去固定這層的解法
2.把所有3或4槽鑰匙和鎖孔的匹配程度觀察一遍
注意,對於鎖孔很多的鎖3,4槽的鑰匙是最關鍵的,一旦有一個弄錯往往都是無解的
像這樣的鑰匙就很關鍵,因為如果他們不是干擾項的話,那它一定是問題的突破口(因為3,4槽的鑰匙不可能太多沒用的,要不然數量會對不上,最多1到3個)
我們就以他們為基礎去填這層鎖
我們判斷的時候就可以用顏色去判斷了,不用先去試
假設這些鑰匙不是干擾項,我們用其他鑰匙去填這層鎖,如果填不出來,則它是干擾項;否則固定這層的解法開始下一層,有少到多去推
大師鎖等我再找到再拿出來做個實例
想了想,還是把剛剛那個謎題用圖像表示會更清晰
確定第三層鎖的解法
確定第三層鎖的解法
因為沒1了,第一和第二層鎖都是八個,只能各用兩個4去填(這個考驗自己的判斷和數學理解)。
找不到合適的可以把第二層鎖填滿,這是個干擾項。
再看這個
好了,這個可以。