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

滑雪问题

是一个滑雪选手从高山上往下滑,会遇到不同的checkpoint,每一个checkpoint有自己的point,然后每个edge有distance。经过每一个checkpoint所得到的score是通过一个包含point和distance的式子算出来的(比如2 * point +distance之类的)。最终求从最高点往下滑能得到的最大score是多少

 1 from collections import deque
 2 
 3 def calculate_max_scores(points, graph, start_node):
 4     max_scores = {node: -float('inf') for node in points}
 5     
 6     if start_node in max_scores:
 7         max_scores[start_node] = 2 * points[start_node]
 8 
 9     queue = deque([start_node])
10     
11     while queue:
12         u = queue.popleft()
13         if u in graph:
14             for v, dist in graph[u]:
15                 new_score = max_scores[u] + (2 * points[v] + dist)
16                 if new_score > max_scores[v]:
17                     max_scores[v] = new_score
18                     queue.append(v)
19                     
20     return max_scores
21 
22 if __name__ == "__main__":
23     points_data = {
24         'A': 5, 'B': 7, 'C': 6, 'D': 2, 
25         'E': 1, 'F': 7, 'H': 7, 'I': 3, 'J': 2
26     }
27 
28     graph_data = {
29         'A': [('B', 2), ('C', 3)],
30         'B': [('D', 5), ('E', 6)],
31         'C': [('E', 4), ('F', 4)],
32         'D': [('H', 7)],
33         'E': [('H', 6)],
34         'F': [('J', 3)],
35         'H': [('I', 1), ('J', 2)],
36         'I': [],
37         'J': []
38     }
39 
40     results = calculate_max_scores(points_data, graph_data, 'A')
41 
42     print("--- 节点最大得分统计 ---")
43     for node, score in results.items():
44         if score != -float('inf'):
45             print(f"节点 {node}: {score}")
46             
47     print("\n--- 最终目标 ---")
48     final_max = max(results['I'], results['J'])
49     print(f"到达 I 或 J 的最高分是: {final_max}")

 

http://www.jsqmd.com/news/396713/

相关文章:

  • USB线选购指南2026:避开3大陷阱,选到耐用快充的好线 - 速递信息
  • 洛谷 P1801:黑匣子 ← 二叉堆
  • 运动木地板怎么选?洛可风情5S全价值方法论破解选型困局 - 速递信息
  • Python Streamlit介绍(开源Python Web应用框架,快速将Python脚本转换成交互式Web应用,适合数据科学和机器学习项目快速展示)
  • 【强化学习的数学原理-赵世钰】随记
  • 2026年北京飞亚达手表维修推荐:权威网点深度评价,针对维修时效与质量痛点指南 - 十大品牌推荐
  • 2026年北京古驰手表维修推荐:权威网点综合排名,针对非官方服务品质痛点 - 十大品牌推荐
  • P10657 BZOJ4998 星球联盟
  • 如何选择可靠手表维修点?2026年北京海鸥手表维修评测与推荐,直击非官方与乱报价痛点 - 十大品牌推荐
  • 如何选择维修点?2026年北京法穆兰手表维修推荐与排名,直击技术隐忧 - 十大品牌推荐
  • 2026年北京梵克雅宝手表维修推荐:高端腕表保养深度评价,涵盖复杂机芯与日常维护场景 - 十大品牌推荐
  • 2026年北京冠蓝狮手表维修推荐:多场景服务评价与排名,直击非官方维修站信任痛点 - 十大品牌推荐
  • 如何选择可靠维修点?2026年北京冠蓝狮手表维修推荐与评测,直击服务与网点痛点 - 十大品牌推荐
  • 2026年北京蒂芙尼手表维修推荐:官方售后与授权网点评测,解决维修无门与高价痛点 - 十大品牌推荐
  • 如何选择可靠维修点?2026年北京格拉苏蒂原创手表维修推荐与评价,解决非官方维修痛点 - 十大品牌推荐
  • 维修网点哪家强?2026年北京东方双狮手表维修推荐与评价,应对时效与沟通痛点 - 十大品牌推荐
  • Springboot3+vue3实现登录注册功能
  • 如何选择可靠维修点?2026年北京蒂芙尼手表维修排名与推荐,直击非官方服务痛点 - 十大品牌推荐
  • 如何选择可靠维修点?2026年北京蒂芙尼手表维修推荐与评价,直击售后与网点覆盖痛点 - 十大品牌推荐
  • 如何选择手表维修点?2026年北京东方双狮维修推荐与评价,直击配件与工艺痛点 - 十大品牌推荐
  • 帝舵手表维修哪家靠谱?2026年北京维修站推荐与评价,解决配件真伪核心痛点 - 十大品牌推荐
  • 2026年北京帝舵手表维修推荐:专业维修站排名,涵盖日常保养与复杂故障场景 - 十大品牌推荐
  • Python基于flask框架教师科研项目管理系统可视化-Pycharm django
  • Simulink永磁同步电机(PMSM)基于滑模观测器的无位置传感器控制仿真模型 附资料
  • 如何选择可靠维修点?2026年北京迪奥手表维修推荐与排名,直击服务标准不一痛点 - 十大品牌推荐
  • Python基于flask框架社区物业车位缴费房屋充电桩管理系统 论文-Pycharm django
  • [Kaleidoscope of Physics] 广义坐标
  • 2026年北京迪奥手表维修推荐:基于多场景服务评价,针对维修质量与中心透明度痛点 - 十大品牌推荐
  • Python基于flask框架健康饮食营养管理信息系统-Pycharm django
  • P10658 BZOJ2959 长跑