瑪雅人有一種密碼,如果字串中出現連續的2012四個數字就能解開密碼。給乙個長度為n的字串,(2=示例1
複製
502120
複製1
解析:利用bfs的思想進行
**如下:
方法一:bfs(純c,無利用queue函式)
#include#include#include#includechar pass="2012";
typedef struct queue*lqueue;
int check(char *s,int n)
int main()
head=head->next;
strncpy(str,head->str,n);
}result=head->deep;
} printf("%d\n",result);
} return 0;
}
方法二:bfs利用c++函式庫的queue實現
#include#include#include#include#includeusing namespace std;
struct node;
queueq;
int bfs(int n)
int main()
while(q.empty()==false)
q.pop();
node p;
strcpy(p.str,a);
p.deep=0;
q.push(p);
int res=bfs(n);
printf("%d\n",res);
} return 0;
}
瑪雅人的密碼bfs
如何用佇列廣度優先遍歷所有可能性 queue 如何判別並標示某串是否訪問過 map 如何記錄某串已經交換字元的次數 子串2012是否存在 include include include include include include using namespace std int count 3 t...
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的字串。對於每組測試資料,若可以解出密碼,輸出最少的移位次數 否則輸出...