題意:給乙個初始字串和乙個目標字串,然後有最多6個規則,從前乙個字串可以變到後乙個字串。詢問初始字元轉能否經過這些規則的變換最終變為目標字串。可以的話輸出最小的步數,否則輸出「"no answer!」。
思路:因為規則很少,直接暴力bfs所有可能的狀態就好了,然後用乙個map來判重。偷點懶,直接用string的find來找字串。
#include
using namespace std;
mapmp;
string s1,s2;
string t1[6]
,t2[6]
;int tot=0;
struct node
node
(string ss,
int step):ss
(ss)
,step
(step)};
bool ff;
void
bfs(
) string nxt;
for(
int i=
0;i}}
intmain()
洛谷 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 字串變換
已知有兩個字串 a,b 及一組字串變換的規則 至多 6 個規則 a1 b1 a2 b2 規則的含義為 在a 中的子串 a1 可以變換為 b1 a2可以變換為 b2 例如 a abcd bb xyz 變換規則為 abc xu ud y y yz 則此時,a 可以經過一系列的變換變為 b 其變換的過程為...
洛谷P1032字串變換
題目描述 已知有兩個字串a,b a,b 及一組字串變換的規則 至多6個規則 a1 b1 a 1 b1 a2 b2 a 2 b2 規則的含義為 在a的子串中a1 a 1可以變成b1 b 1,a2 a 2可以變成b2 b 2 求a a 變成b role presentation b b所需的最小的轉換次...