{"trustable":false,"sections":[{"title":"","value":{"format":"HTML","content":"萨格勒布的有轨电车网络由许多交叉口和连接它们的铁轨组成。每个交叉口都有一个开关,指向其中一个铁轨。当电车进入交叉口时,它只能朝着开关指向的方向离开。如果司机想要走其他的路线,就必须手动更改开关。\n\u003cbr\u003e\u003cbr\u003e\n当司机需要从A交叉口驾驶到B交叉口时,他/她会尽量选择能够最小化手动更改开关次数的路线。\n\u003cbr\u003e\u003cbr\u003e\n编写一个程序,计算从A交叉口到B交叉口所需的最小开关更改次数。"}},{"title":"Input","value":{"format":"HTML","content":"输入的第一行包含三个整数N、A和B,用单个空格分隔,其中2 \u003c\u003d N \u003c\u003d 100,1 \u003c\u003d A,B \u003c\u003d N,N是网络中交叉口的数量,交叉口从1到N编号。\n\u003cbr\u003e\n\u003cbr\u003e接下来的N行中,每行包含一系列整数,用单个空格分隔。第i行中的第一个数字Ki(0 \u003c\u003d Ki \u003c\u003d N-1)表示从第i个交叉口出发的铁轨数量。接下来的Ki个数字表示直接连接到第i个交叉口的交叉口。第i个交叉口的开关最初指向第一个列出的交叉口的方向。"}},{"title":"Output","value":{"format":"HTML","content":"输出的第一行应该包含目标最小数量。如果从A到B没有路线,则该行应包含整数“-1”。"}},{"title":"Sample","value":{"format":"HTML","content":"\u003ctable class\u003d\u0027vjudge_sample\u0027\u003e\n\u003cthead\u003e\n \u003ctr\u003e\n \u003cth\u003eInput\u003c/th\u003e\n \u003cth\u003eOutput\u003c/th\u003e\n \u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n \u003ctr\u003e\n \u003ctd\u003e\u003cpre\u003e3 2 1\n2 2 3\n2 3 1\n2 1 2\n\u003c/pre\u003e\u003c/td\u003e\n \u003ctd\u003e\u003cpre\u003e0\u003c/pre\u003e\u003c/td\u003e\n \u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n"}}]}