图论part04
字符串接龙
该题本质是最短路径问题,方法:广搜
通过逐个修改字符完成从一点到另一点的变换
具体是通过对栈顶字符串的每个字符用26个字母逐个替换
每次替换要判断是否抵达终点
抵达终点返回结果
没有抵达终点就判断是否是已经是标记过的字符串或者是非法字符串
排除以上两种情况,说明替换后的字符串是合法字符串但是还没到达终点
入栈并且进行标记,路径长度+1
整体代码:
有向图的完全可达性
处理当前节点的写法:
main 把visited[1] = true;注释掉
中间犯了一个错误:
测试案列默认有输入边数k,这样写就导致边混乱,原本
N = 4 K =4
1 2
2 1
1 3
2 4
照我上面写 s t 导致结果会出错
s=4 t=1
s=2 t=1
s=3 t=2
岛屿的周长
可以不用广搜或者深搜直接遍历所有陆地遇到边界或者海洋周长就++,和建造最大岛屿的第二步一样:
广搜: