9 4 開啟轉盤鎖

2021-09-03 07:39:15 字數 493 閱讀 8761

題目大意:你有乙個帶有四個圓形撥輪的轉盤鎖。每個撥輪都有10個數字: 『0』, 『1』, 『2』, 『3』, 『4』, 『5』, 『6』, 『7』, 『8』, 『9』 。每個撥輪可以自由旋**例如把 『9』 變為 『0』,『0』 變為 『9』 。每次旋轉都只能旋轉乙個撥輪的一位數字。鎖的初始數字為 『0000』 ,乙個代表四個撥輪的數字的字串。輸出最小的旋轉次數。

思路:典型的bfs,因為有最小的次數這樣的字眼啊!!!而且字串的長度還是不變的,不用bfs還用什麼?

#include #include#include#include#includeusing namespace std;

int main(int argc, const char * argv)

if(dead.count("0000"))

if(!visited.count(m)&&!dead.count(m))}}

}}

cout<<-1<}

開啟轉盤鎖

你有乙個帶有四個圓形撥輪的轉盤鎖。每個撥輪都有10個數字 0 1 2 3 4 5 6 7 8 9 每個撥輪可以自由旋 例如把 9 變為 0 0 變為 9 每次旋轉都只能旋轉乙個撥輪的一位數字。鎖的初始數字為 0000 乙個代表四個撥輪的數字的字串。列表 deadends 包含了一組死亡數字,一旦撥輪...

Leetcode 開啟轉盤鎖

原題 一道關於bfs的題目 先上 class solution object def openlock self,deadends,target 這裡轉為set類很有必要。deadends set deadends 先判斷是否是特殊情況。if 0000 in deadends or target i...

752 開啟轉盤鎖

題目描述 你有乙個帶有四個圓形撥輪的轉盤鎖。每個撥輪都有10個數字 0 1 2 3 4 5 6 7 8 9 每個撥輪可以自由旋 例如把 9 變為 0 0 變為 9 每次旋轉都只能旋轉乙個撥輪的一位數字。鎖的初始數字為 0000 乙個代表四個撥輪的數字的字串。列表 deadends 包含了一組死亡數字...