最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

原子之心顏色圓盤鎖的快速解密方法

2023-02-26 06:12 作者:1CNiEkJAY5_YJC6  | 我要投稿

今天擼了一把原子之心,解密部分還蠻有意思的,遇到幾次顏色圓盤鎖,簡單的還好,復(fù)雜點的花了十分鐘還解不出來 ╮(╯▽╰)╭,特別是兩種顏色以上的。


后來我想了一下,這個解密過程其實可以抽象成算法問題。圓盤上有一個內(nèi)圈,其中包含8個圓,每個圓里可能有一種顏色,也可能沒有顏色。因此,我們可以用一個長度為8的數(shù)組來表示這個內(nèi)圈,不同的顏色可以用不同的整數(shù)來表示。例如,0表示沒有顏色,1表示黃色,2表示藍色,以此類推,不會超過8種顏色。


我們假設(shè)數(shù)組第一個元素對應(yīng)12點方向的顏色,按順時針走,得到一個初始狀態(tài)。同樣的,我們的目標狀態(tài)是外圈的順時針數(shù)組。比如下面這張圖, 假設(shè)3表示紅色,則:

初試狀態(tài)是 3 0 0 0 0 0 1 3

目標狀態(tài)是 0 3 1 0 0 0 3 0

[3,0,0,0,0,0,1,3]

一個狀態(tài)只有三種方式轉(zhuǎn)移到下一個狀態(tài),數(shù)組向左移2,數(shù)組向右移2,或者數(shù)組的第4到第6個元素自身右移1。所以,整個解密過程相當于找一個從初始狀態(tài)到目標狀態(tài)的最短路徑,而狀態(tài)的每一步轉(zhuǎn)移代價相同,所以相當于在邊權(quán)都為1的有向圖上找兩點之間的最短路,并打印出來。?所以我立刻想到用dfs來實現(xiàn)這個解密過程。(當然,bfs更好,因為少了遞歸調(diào)用棧的使用。)


Anyway, 基于此我快速寫了個基于dfs的命令行的demo,用哈希表和一些判斷做剪枝優(yōu)化,最后將最短路徑映射到PS5手柄按鍵序列并打印出來。比如圖中的其中一個最短路徑解法是:

L2 X X R2 X L2 X X R2 X L2

Demo已經(jīng)開源到? https://github.com/H-Shen/DotsLockCracker ,由于時間緊迫沒來的做CICD,歡迎提issue。如果需要支持其他平臺 比如PC,則將源碼鍵盤映射部分改成對應(yīng)平臺的游戲按鍵再重新構(gòu)建就行了。


原子之心顏色圓盤鎖的快速解密方法的評論 (共 條)

分享到微博請遵守國家法律
莱芜市| 靖远县| 扶风县| 南通市| 大洼县| 黔江区| 威宁| 重庆市| 富顺县| 博客| 平顶山市| 陆河县| 海丰县| 昆明市| 云南省| 普兰县| 冕宁县| 南郑县| 会理县| 安龙县| 沙洋县| 开封市| 嘉鱼县| 宜宾市| 大宁县| 九龙城区| 东方市| 阳城县| 峨边| 遂宁市| 紫云| 德令哈市| 富平县| 锡林郭勒盟| 渭源县| 固始县| 镇巴县| 滁州市| 巨野县| 都兰县| 桐乡市|