#P5747. Part Acquisition

Part Acquisition

题目描述

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

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

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

输入格式

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

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

输出格式

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

样例

输入样例

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

输出样例

4

提示

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

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

输出详细信息:

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