#2519. Part Acquisition

Part Acquisition

题目描述

这些奶牛被派去执行一项任务,为他们的谷仓购买一台新的挤奶机。它们飞过包含 N(1<=N<=50,000)\red{N (1 <= N <= 50,000) }颗行星的星团,每颗行星都有一个交易站。

奶牛已经确定了星团中每个行星需要 K(1<=K<=1,000)\red{K (1 <= K <= 1,000) }种类型的物体(编号 1..K\red{1..K)}中的哪一种,以及它们必须交易的产品。没有一个星球发展了货币,所 以它们在易货系统下运作:所有交易都由每一方交易的每一方都只交易一个对象(可能是不同类型的)。

奶牛们从地球开始带着一罐优质干草(第 1\red{1 }项),他们想要一台新的挤奶机(第 K\red{K }项)。帮助他们找到在集群中的行星上进行一系列交易以获得物品 K\red{K }的最佳方法。如果此任务不可能完成,则输出 1\red{-1}

输入格式

1\red{1 }行:两个空格分隔的整数,N\red{N }K\red{K}

2..N+1\red{2..N+1 }行: 第 i+1\red{i+1 }行包含两个空格分隔的整数,分别为 ai\red{a_i }bi\red{b_i,}它们是行星 i\red{i }的交易交易产品。行星将给予项目 bi\red{b_i }以接收项目 ai\red{a_i}

输出格式

1\red{1 }行:获得挤奶机的最小交易次数多 1\red{1 }次,即项目 K\red{K(}如果奶牛无法获得项目 K\red{K,}则为 1\red{-1)}

样例

输入样例

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

输出样例

4

提示

//6\red{//6}个星球,希望得到5,\red{5,}开始时你手中有1\red{1}号货物.

//1\red{//1}号星球,希望得到1\red{1}号货物,将给你3\red{3}号货物

输出详细信息:

奶牛总共拥有4\red{4}件物品:首先,它们用物品1\red{1}换取对象3\red{3,}然后对象3\red{3}表示对象2\red{2,}然后对象2\red{2}表示对象5\red{5}