如何用佇列廣度優先遍歷所有可能性(queue) + 如何判別並標示某串是否訪問過(map) + 如何記錄某串已經交換字元的次數 + 子串2012是否存在
#include
#include
#include
#include
#include
#include
using
namespace
std;
int count[3];
typedef pairnode;
mapmymap;
string s;
queue
q;bool judge(string s)
return
false;
}int main()
while(!q.empty())
mymap.clear();
mymap[s]=1;
q.push(node(s,0));
int ans=-1;
while(!q.empty())
for(int i=0;i+1
string tmp=t;
swap(tmp[i],tmp[i+1]);
if(mymap.find(tmp)==mymap.end())}}
printf("%d\n",ans);
}return
0;}
BFS 瑪雅人的密碼
時間限制 1秒 空間限制 65536k 熱度指數 5412 瑪雅人有一種密碼,如果字串 現連續的2012四個數字就能解開密碼。給乙個長度為n的字串,2 示例1 1.典型的bfs題目,節點為字串 2.巧妙地運用map來判斷搜尋樹中是否有重複的節點 3.s.find 2012 string npos 匹...
瑪雅人的密碼 BFS
瑪雅人有一種密碼,如果字串 現連續的2012四個數字就能解開密碼。給乙個長度為n的字串,2 輸入包含多組測試資料,每組測試資料由兩行組成。第一行為乙個整數n,代表字串的長度 2 n 13 第二行為乙個僅由0 1 2組成的,長度為n的字串。對於每組測試資料,若可以解出密碼,輸出最少的移位次數 否則輸出...
瑪雅人的密碼(利用bfs)
瑪雅人有一種密碼,如果字串中出現連續的2012四個數字就能解開密碼。給乙個長度為n的字串,2 示例1 複製5 02120 複製1 解析 利用bfs的思想進行 如下 方法一 bfs 純c,無利用queue函式 include include include includechar pass 2012 ...