四大文化赛道完整展开
02-solution/README.md
代码与样例
站内文件视图直接读取仓库内容,Markdown 使用文档排版渲染,其余文本文件保持原始排版,方便校对训练证据链。
文件类型Markdown
10-cases/s3-jh-05-station-relay/02-solution/README.md
主实现文件
src/python/main.py:Python 主实现。src/cpp/main.cpp:C++ 对照实现,与 Python 版本保持同一题意和输出格式。
解法摘要
- 主算法:双关键字最短路 + 路径恢复
- 实现步骤:把每个节点的最优状态定义为
(换站次数, 总天数)二元组。;用优先队列按字典序扩展当前最优状态。;搜索结束后根据前驱数组恢复最优路径。
样例输入
5 6 1 5
1 2 2
2 5 3
1 3 1
3 4 1
4 5 1
2 3 1
样例输出
relay_count=2
total_days=5
path=1->2->5
校验命令
python3 02-solution/src/python/main.py < 02-solution/fixtures/sample.inc++ -std=c++17 -O2 02-solution/src/cpp/main.cpp -o /tmp/case-bin && /tmp/case-bin < 02-solution/fixtures/sample.in
输出关键字段
- 可达时第一行输出
relay_count=最少换站次数。 - 第二行输出
total_days=对应总天数。 - 第三行输出
path=后接a->b->c形式路径。 - 不可达时依次输出
relay_count=-1、total_days=-1、path=IMPOSSIBLE。