/ Vijos / 题库 /

交易

交易

时间限制:1秒  内存限制:256M


【题目描述】

  奶牛们接到了寻找一种新型挤奶机的任务,为此他们准备依次经过 \(N\) 颗行星,在行星上进行交易。

  为了方便,奶牛们已经给可能出现的 \(K\) 种货物进行了由 1 到 \(K\) 的标号。由于这些行星都不是十分发达,没有流通的货币,所以在每个市场里都只能用固定的以一种货物去换取另一种货物。

  奶牛们带着一种上好的饲料从地球出发,希望进行最少的交易,最终得到所需要的机器,饲料的标号为 1,所需要的机器的标号为 \(K\)。如果任务无法完成,输出 -1。

【输入格式】

  第 1 行是两个数字 \(N\) 和 \(K\)。
  第 2 到 \(N+1\) 行,每行是两个数字 \(A_i\) 和 \(B_i\),表示第 \(i\) 颗行星愿意提供 \(A_i\) 为得到 \(B_i\)。

【输出格式】

  第 1 行输出最小交换次数,此后输出交换过程。

【输入输出样例】

 Input

6 5
1 3
3 2
2 3
3 1
2 5
5 4

 Output

4
1
3
2
5

【样例解释】

  奶牛们至少要交换 4 次,先用 1 去交换 3,再用 3 去交换 2,最后用 2 交换得到 5。

【数据限制】

  对于 \(100\%\) 的数据,\(1≤N≤50000\),\(1≤K≤2000\)。

【来源】

  Mr.he

信息

ID
2209
难度
(无)
分类
图结构 | 最短路 点击显示
标签
递交数
0
已通过
0
通过率
?
被复制
3
上传者