题意: 一个完全图,有n个点,其中m条边是权值为a的无向边,其它是权值为b的无向边,问从1到n的最短路. 思路: 首先判断1和n被哪种边连通. 如果是被a连通,那么就需要全部走b的边到达n,选择最小的: 被b连通,需要走全部为a的边到达n,选择最小的. 第二种情况,用输入的边跑dijkstra: 但是第一种情况边太多,所以并不能单纯的用最短路. 可以想到的是,对于第二种情况,一个点只会经过一次. 所以用一个set来存还未访问过的点,进行bfs. 每次从队列中取出一个点x,把set中与x以a边相连…