当前位置: 首页 > news >正文

原创OI试题 - L

T1 换乘(metro)

题目背景

H3Z信息科学协会成员准备参加NOIP。他们准备从学校出发,乘坐地铁到达考场。但是,地铁线网错综复杂,换乘次数带来的问题困扰住了LzyCoding。作为信息科学协会的一名成员,你能写个程序来帮帮他吗?

问题描述

给定一个包含 \(n\) 个节点的地铁网络图(节点编号从 1 到 \(n\)),初始时没有任何连接。现在有 \(m\) 条地铁线路信息,每条线路连接两个节点并具有特定的权重 \(w\)

换乘定义:如果乘客先乘坐了一条权重为 \(w_1\) 的线路,接着乘坐了一条权重为 \(w_2\) 的线路,且 \(w_1 \neq w_2\),则称为发生了一次"换乘"。

给定学校的位置 \(s\) 和考场的位置 \(t\),请找出一条从 \(s\)\(t\) 的路径,使得整个行程中的换乘次数最少。

输入格式

第一行包含两个整数 \(n\)\(m\),分别表示节点数量和线路数量。

接下来的 \(m\) 行,每行包含三个整数 \(u, v, w\),表示节点 \(u\)\(v\) 之间有一条权重为 \(w\) 的线路。线路是双向的。

最后一行包含两个整数 \(s\)\(t\),表示起点和终点。

注意:图中可能存在重边(两个节点间有多条相同或不同权重的线路)和自环(节点连接到自身的线路)。

输出格式

输出一个整数,表示从 \(s\)\(t\) 的最少换乘次数。

如果不存在从 \(s\)\(t\) 的路径,输出字符串 "Again For OI"(不包含引号)。

特殊说明

  • 如果起点和终点相同,换乘次数为 \(0\)
  • 如果路径只包含一条边,不会发生换乘,换乘次数为 \(0\)

样例

输入样例 1

text

2 1
1 2 1
1 2

输出样例 1

text

0

输入样例 2

text

4 4
1 2 1
2 3 2
3 4 1
2 4 3
1 4

输出样例 2

text

1

样例 2 解释:路径 1→2→4 的换乘情况:1(权重1)→2(权重3),权重从1变为3,发生1次换乘。

数据范围与约束

对于 \(100\%\) 的数据:

  • \(1 \leq n \leq 10^5\)
  • \(1 \leq m \leq 2 \times 10^5\)
  • \(1 \leq u, v \leq n\)
  • \(1 \leq w \leq 10^6\)
  • \(1 \leq s, t \leq n\)

特别地,对于 $ 5% $ 的数据,保证不存在从 \(s\)\(t\) 的路径。

http://www.hskmm.com/?act=detail&tid=19342

相关文章:

  • 《深入浅出WPF》:8.3.2 自定义路由事件 事件注册类型为 EventHandlerReportTimeEventArgs,但.NET 事件包装器类型为 RoutedEventHandler
  • day 6
  • 2025 自动售货机工厂推荐 配备 Bystronic 激光切割机,快速周转准时交货
  • 7.WPF 的 TextBox 和 TextBlock 控件 - 实践
  • 从中序与后序遍历序列构建二叉树的迭代解法
  • 安装 HuggingFace datasets 模块、包、库
  • 使用 SignalR 向前端推送图像
  • 隐私保护与联邦学习文献阅读
  • Java实习模拟面试|离散数学|概率论|金融英语|数据库实战|职业规划|期末冲刺|今日本科计科要闻速递:技术分享与学习指南 - 实践
  • 学术写作
  • 2025.9.27
  • 9.27(课后作业
  • 详细介绍:【序列晋升】45 Spring Data Elasticsearch 实战:3 个核心方案破解索引管理与复杂查询痛点,告别低效开发
  • 详细介绍:python+django/flask+uniapp基于微信小程序的瑜伽体验课预约系统
  • 生成算数问题*30
  • 6379:统计学生信息(使用动态链表完成)
  • 详细介绍:云原生 vs 传统部署
  • 单链表
  • 课后作业1-3
  • GNSS精度判断和协方差矩阵 - MKT
  • Insightly模板页面存储型XSS漏洞分析与复现
  • 记录 | 关于陪伴型交互AI的一些探讨
  • 课后作业
  • luogu P1719 最大加权矩形
  • CF2065D Skibidus and Sigma
  • 微信二次开发个人号api
  • 课后作业2(动手动脑,课后实验性问题)
  • 从零开始构建图注意力网络:GAT算法原理与数值实现详解
  • 关于Leetcode 812题的简单思考
  • Laravel5.8 利用 snappyPDF 生成PDF文件