思路:使用bfs,遍歷所有替換的情況,值得注意的一點是,對同乙個字串可能在不同位置都能替換,一開始沒有考慮到這一點
c++**:
#include #include #include #include using namespace std;
const int maxn=12;
string fa[maxn],fb[maxn];
map mp;
struct node ;
queue q;
int main()
if(mp.count(t.s))continue;
mp[t.s]=1;
//cout << cnt
} if(flag&&ans)
cout << ans<< endl;
else cout <<"no answer!"
}
試煉場 廣度優先搜尋 P1032 字串變換
p1032 字串變換 題目描述 已知有兩個字串 a,b 及一組字串變換的規則 至多6個規則 a1 b1 a2 b2 規則的含義為 在 a 中的子串 a1 可以變換為 b1 a2 可以變換為 b2 例如 a abcd b xyz 變換規則為 abc xu ud y y yz 則此時,a 可以經過一系列...
P1032 字串變換
思路 採用bfs 我們遍歷字串a的每個字元,判斷當前字串i位置之後可不可以替換,如果可以替換,我們就把替換後的字串 a 放入佇列。如果出現的我們想要的字串,根據bfs的性質,那麼就直接記錄此時的步數。1 include 2 include 3 include 4 include 5 include ...
P1032 字串變換
迭代加深難題 右手進入傳送門 大意是這樣的 給定兩個字串a,b以及至多六個變換規則 規則指a1 b1,a2 b2,在a中的子串 a1可以變換為b1,a2可以變換為 b2 求最少變換步數,若在10步 包含10步 以內能將a變換為b,則輸出最少的變換步數 否則輸出 no answer 看到題目要求的10...