题意:给你一个串,仅含有a~g,且每个字母只出现最多一次.和一个光标初始位置,以及一个目标串,问你最少要多少的代价变化成目标串. 有五种操作:在光标前添加一个未出现过的字母,代价1. 删除光标前或者光标后的字母,代价1. 光标左移或者右移,代价0.5. 哈希,把串弄成一个八进制数,加上一个光标位置,状态数不超过8^8. 直接跑dijkstra即可. 要注意初始化的时候,可以单独记一个数组,表示用过的状态,仅仅重置这些状态,防止初始化复杂度过高. #include<cstdio> #includ…