求带传送门的房间A到B最少需要经过的传送门数量

pe011868 程序题 共 个子题

在一个神奇空间里有N个房间,房间从1到N编号,每个房间可能有一个或多个传送门,每个传送门都有一个编号,如果相同编号的传送门同时出现在多个房间中,表示这些房间可以互通。给定两个房间的编号A和B,请找出从房间A到达房间B最少需要经过几个传送门。

示例说明

例如:N = 3,3个房间中传送门的编号分别为:

  • 房间1:1、4、6
  • 房间2:2、3、4、8
  • 房间3:3、6、9

其中房间1和房间2互通(共用4号传送门);房间1和房间3互通(共用6号传送门);房间2和房间3互通(共用3号传送门)。 当A = 1,B = 2时,共有两种路线:

  1. 从房间1通过4号传送门进入房间2,共经过1个传送门
  2. 从房间1通过6号传送门进入房间3,再从房间3通过3号传送门进入房间2,共经过2个传送门

故最少需要经过1个传送门。

输入描述

  1. 第一行输入一个正整数N(2≤N≤20),表示房间数量
  2. 接下来N行每行包含多个正整数(1≤正整数≤100),第2行到第N+1行依次表示1到N号房间内所有传送门的编号,正整数之间以一个英文逗号隔开
  3. 最后一行输入两个正整数A和B(1≤A≤N,1≤B≤N,且A≠B),分别表示出发的房间编号和目标房间编号,两个正整数之间以一个逗号隔开

输出描述

输出一个整数,表示从房间A到达房间B最少需要经过的传送门数量,如果房间A不能到达房间B,则输出-1。

样例输入

3
1,4,6
2,3,4,8
3,6,9
1,2

样例输出

1

本题为编程题,提交代码并运行通过测试点后判分。

正在加载题目数据…
已答 /
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析
提交记录
共 条 仅展示自由练习提交
正在加载提交记录…
讨论
发布
登录后参与讨论 立即登录
发布讨论需先绑定并验证手机号 去绑定手机号
加载中…
我
我
回复 @
回复 @
发送
还没有人讨论,来发表第一条吧