#P1555. 2023.06.14-暑期实习-第2题-铁路线路优化
-
ID: 40
Type: Default
1000ms
256MiB
Tried: 27
Accepted: 0
Difficulty: 4
Uploaded By:
TaZi
Tags>最短路
2023.06.14-暑期实习-第2题-铁路线路优化
题目内容
有若干个地铁线路。所有地铁线路分为L形线和O形线
L形线有两个端点,在端点处的站点只能往另外一端移动,在非端点处则有两个移动方向可选择。
O形线也称O线,没有端点,在任一站都有两个移动方向可选择。
所有地铁站线中有以下两种移动方式:
- 从一个线路中的一个站移动到当前线路的另一个站点
- 从一个线路中的一个站点跳跃到另一条绳子的另一个站点
所有n个站点都被编号,从1到n,选择其中一个作为起点,再选择另一个作为终点。
一次输入一条线路上所有结的编号:例如{1,5},表示一条L形线路,两端为1,5。例如{1,2,3,4,1},表示一条O形线路。这两条线路在1这个站点允许从一条线路跳到另一条线路的站点上,即可以从L形线路的1站点跳到O形线路的2站点,也可以从O形线路的1站点跳到L形线路的5站点。
规定了一系列输出:
- 最短跳跃路线数目:满足最短路线长度要求的所有路线的数目
- 最短跳跃路线长度(不计算起点)
- 最优跳跃路线数目:满足最短跳跃路线长度要求的跨绳跳跃次数最少的路线的数目
解答要求
时间限制: C/C++1000ms,其他语言: 2000ms 内存限制:C/C++256MB其他语言:512MB
输入
第一行:第一个正整数M,表示地铁线路的条数M,M的范围是[1,500]。
第二行:列出M条地铁线路的站点数N(1),N(2),...,N(M),用空格分隔,注意,0形线的首尾各算一个站点,例[1,3,6,7,4,1],站点数N记为6。
第三行到第M+2行:列出M条地铁线路的站点信息,站京ID用空格分隔,站点数的范围是[1,2000],站点ID是32位正整数。
第M+3行:列出起点和终点,用空格分隔,如果起点或终点不在M条地铁线路上,或者,起点和终点是同一个站点时,则认为不存在最短路线。
输出
第一行:输出最短移动路线的数目。注意:如果不存在最短移动路线,则输出−1
第二行:输出最短移动路线长度,注意:如果不存在最短移动路线,则输出−1。
第三行:输出最优移动路线的数目。注意:如果不存在最优移动路线,则输出0。
样例
输入
1
3
1 3 1
1 3
输出
1
1
1
解释
- 最短线路有1条:{1,3}
- 根据1的结果,最短线路线长度是1
- 最优路线有1条:{1,3}
样例2
输入
4
5 5 3 2
1 2 3 4 5
1 10 9 7 6
5 7 8
11 5
1 11
输出
2
5
1
解释
- 最短路线有2条,分别是{1,2,3,4,5,11}和{1,10,9,7,5,11}
- 根据1的结果,最短路线长度是5
- 最优路线有1条:{1,2,3,4,5,11} (换乘一次)
通知
扫码备注华为交流群~期待您的到来
- 湘ICP备2023007293号
- Worker 0, 31ms
- Powered by Hydro v4.14.1 Community