D:
题目 题意: 初始数为1.给定倍数a、目标数n. 提供两种operation. 1: 当前数x * a 2: 当前数x循环左移一位(当x >= 10 且x 不是10的倍数时才能使用) 求最少的操作数,或者输出不可达。 思路: bfs.我直接从目标数n开始逆向操作,一直wa两个点。还没查明原因,可能是逆操作写歪了。 该题的思路还是应该从1开始搜索,bfs求最短路。每个点最多被搜索一次,而一个点至多两条边,其中操作2需要花log(n)的时间,因为要循环移位。因此总时间复杂度为O(nlogn + 2 * n) 值得注意一点的是,操作1要判断是否
关注
打赏