显然是用BFS做,注意点有:
1.用一个16位的二进制数表示一个状态,这样状态最多有0~65535种,就可以开个hash判重。
2.因为目标接点确定,所以先预处理算出从全为0到各个状态的最小步数,全为1到各个状态的最小步数,然后再读入数据,
选两个里面步数小的即可。
显然是用BFS做,注意点有:
1.用一个16位的二进制数表示一个状态,这样状态最多有0~65535种,就可以开个hash判重。
2.因为目标接点确定,所以先预处理算出从全为0到各个状态的最小步数,全为1到各个状态的最小步数,然后再读入数据,
选两个里面步数小的即可。