1. 程式人生 > >HihoCoder1643 : 最少換乘([Offer收割]編程練習賽37)

HihoCoder1643 : 最少換乘([Offer收割]編程練習賽37)

次數 pre 兩個 其中 公交車 bsp 註意 pos post

描述

小Ho居住的城市有N條公交車線路,其中第i條線路上有Ki個車站。

某些線路之間會有公共的車站,小Ho可以在這些車站從一條線路換乘到另一條線路。

現在給定N條公交車線路以及兩個車站S和E,你能幫助小Ho計算從S到E最少換乘幾次公交車嗎?

輸入

第一行包含三個整數N,S和E。

以下N行每行描述一條線路。第一個整數Ki代表該條線路包含的車站數。之後Ki個整數代表車站的編號。

註意車站編號不一定連續。

對於50%的數據,1 ≤ N ≤ 1000, 1 ≤ Ki ≤ 100

對於100%的數據,1 ≤ N ≤ 50000, 1 ≤ Ki ≤ 80000,1 ≤ 所有Ki之和 ≤ 500000, 1 ≤ 車站編號 ≤ 5000000。

輸出

輸出最少換乘次數。如果S到E不可達,輸出-1。

樣例輸入

3 123 345  
4 321 375 123 456  
4 222 333 123 444  
2 222 345

樣例輸出

1

HihoCoder1643 : 最少換乘([Offer收割]編程練習賽37)