題目描述
瑪雅人有一種密碼,如果字串**現連續的2012四個數字就能解開密碼。給乙個長度為n的字串,(2=輸入
第一行輸入n,第二行輸入n個數字,只包含0,1,2
輸出樣例輸入
502120
502120
樣例輸出11
每次交換一對,判斷,進棧
#include #include #include #include #include #include #include using namespace std;
struct record;
bool contain2012(string x)
r.movecount=0;q.push(r);s.insert(r.code);
int times2=0,times1=0,times0=0;
int flag=true; //bfs
while(!q.empty())
if(s.find(tmp.code)==s.end())//找不到
}} if(flag) cout<<"-1\n";
} return 0;
}
神奇密碼鎖(BFS)
題目鏈結 題目描述 小明忘記了旅行箱上的密碼,現在他想自己暴力弄出密碼來,但他又想知道最從乙個數字到另乙個數字最少需要多少步,現在請你幫忙。另外,小明的密碼箱很奇怪,只有四位數,上面的數字只有1到9,每次只能讓每位數加1或者減1。按常識我們可以知道從1到9只需要減1,從9到1只需要加1。此外,你還能...
題解 特殊密碼鎖
描述 有一種特殊的二進位制密碼鎖,由n個相連的按鈕組成 n 30 按鈕有凹 凸兩種狀態,用手按按鈕會改變其狀態。然而讓人頭疼的是,當你按乙個按鈕時,跟它相鄰的兩個按鈕狀態也會反轉。當然,如果你按的是最左或者最右邊的按鈕,該按鈕只會影響到跟它相鄰的乙個按鈕。當前密碼鎖狀態已知,需要解決的問題是,你至少...
計蒜客 密碼鎖 bfs
題目描述 現在乙個緊急的任務是開啟乙個密碼鎖。密碼由四位數字組成,每個數字從1到9進行編號。每次可以對任何一位數字加1或減1.當將9加1時,數字變為1,當1減1時,數字變為9.還可以交換相鄰的數字,每乙個行動記做一步。求最少步驟開啟密碼鎖。輸入格式 第一行輸入四位數字,表示密碼鎖的初始狀態 第二行輸...