投稿  收藏 

题目信息

题目类型
省赛
题目年份
题目题型
单选题
关 键 词
传送门

题目题干

题目描述:

编程实现:

在一个神奇空间里有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号传送门;

题目描述:  编程实现:  在一个神奇空间里有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到达房间2,共有两种路线:  路线1:从房间1通过4号传送门进入房间2,共经过1个传送门;  路线2:从房间1通过6号传送门进入房间3,再从房间3通过3号传送门进入房间2,共经过2个传送门;  故从房间1到达房间2最少需要经过1个传送门。  输入描述  第一行输入一个正整数N(2≤N≤20),表示房间数量。  接下来输入N行,每行包含多个正整数(1≤正整数≤100),第2行到第N+1行依次表示1到N号房间内所有传送门的编号,正整数之间以一个英文逗号隔开。  最后一行输入两个正整数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

 

当A=1,B=2,从房间1到达房间2,共有两种路线:

路线1:从房间1通过4号传送门进入房间2,共经过1个传送门;

路线2:从房间1通过6号传送门进入房间3,再从房间3通过3号传送门进入房间2,共经过2个传送门;

故从房间1到达房间2最少需要经过1个传送门。

输入描述

第一行输入一个正整数N(2≤N≤20),表示房间数量。

接下来输入N行,每行包含多个正整数(1≤正整数≤100),第2行到第N+1行依次表示1到N号房间内所有传送门的编号,正整数之间以一个英文逗号隔开。

最后一行输入两个正整数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

 

答案解析

相关题目

题目描述: 编程实现: 在一个神奇空间里有N个房间,房间从1到N编号,每个房间可能有一个或多个传送门,每个传送门都有一个编号,如果相同编号的传送门同时出现在多个房间中,表示这些房间可以互通。 给
题目描述 编程实现: 工人砌了一面奇特的砖墙,该墙由N列砖组成(1≤N≤106),且每列砖的数量为Ki(1≤Ki≤104,相邻两列砖之间无缝隙),每块砖的长宽高都为1。 小蓝为了美化这面墙,需要
题目描述: 提示信息: 杨辉三角就是一个用数排列起来的三角形(如下图),杨辉三角规则如下: 1)每行第一个数和最后一个数都为1,其它每个数等于它左上方和右上方的两数之和; 2)第n行有n个数。
题目描述: 编程实现: 小明收藏了N(2≤N≤25)个数字币,每个数字币上都有一个面值(面值可以重复)。从数字币中任选K(2≤K≤N)个,有多种选法,请将每次选择的数字币上的面值累加,然后解决以下
题目描述: 编程实现: 给定一个只包含小写字母的字符串S(S长度≥3),请输出字符串S的第一个字符和最后一个字符。 例如: 当S =“abc”,abc的第一个字符为a,最后一个字符为c,故输出
题目描述 编程实现: 给定一个正整数N,计算出N+N的值。 例如:N = 4,4+4的值为8(8=4+4)。 输入描述 输入一个正整数N。 输出描述 输出N+N的值。 样例输入 3
5.执行以下代码输出的结果是( )。      age = {16,18,7}      print(type(sorted(age)))  A.<class 'set'&g
4.下列选项哪一个是转为整数的函数? (  ) A.str() B.int() C.float() D.list()
3.以下关于Pvthon中复数描述,错误的是 (  ) A.复数可以看作二元有序浮点数(x,y) B.实部和虚部都是浮点数 C.虚数部分的后缀可以是“j”也可以是 “J” D.已知复数a,可以使用a.
2.导入random标准库,执行:print(random.randrange(2,20,2)语句, 可能输出的结果是 (  ) A.2 B.5 C.13 D.20

提示声明

  • 免责声明:本站资源均来自网络或者用户投稿,仅供用于学习和交流:如有侵权联系删除!
  • 温馨提示:本文属于积分文章,需要充值获得积分或升级VIP会员,也可在会员中心投稿获取。

猜你喜欢