首页 > TAG信息列表 > P1032
题解 P1032 [NOIP2002 提高组] 字串变换
题目描述 Link 给定一些规则(不多于 \(6\) 个),试求把字符串 \(A\) 变为字符串 \(B\) 最少需要变换几次? 规则:对于第 \(i\) 个规则 \((a_i,b_i)\) ,若 \(a_i\) 是一个字符串的子串,则可以把这个字符串中的一个 \(a_i\) 变成 \(b_i\) 。 字符串长度不多于 \(20\) 。 Solution 一种比较直P1032 字串变换
题目链接:https://www.luogu.org/problem/P1032 思路: 采用BFS 我们遍历字符串a的每个字符,判断当前字符串i位置之后可不可以替换,如果可以替换,我们就把替换后的字符串 a' 放入队列。 如果出现的我们想要的字符串,根据BFS的性质,那么就直接记录此时的步数。 1 #include <math.洛谷 P1032 字串变换(map)
题目传送门 解题思路: 搜索题,因为要求最少次数,用bfs. AC代码: 1 #include<cstdio> 2 #include<iostream> 3 #include<cstring> 4 #include<string> 5 #include<queue> 6 #include<map> 7 8 using namespace std; 9 10 string a,b,ca[7],cb[7];11 int l;12洛谷P1032 字串变换【bfs】
题目链接:https://www.luogu.org/problemnew/show/P1032 题意: 给定一个原字符串和目标字符串,以及几个字符串变换的规则。 问能否根据这几个规则在十步之内把原字符串变为目标字符串。 思路: bfs,队列维护字符串和所经过的步骤这样一个二元组而不是简单的字符串。 每一次取出一个字符