logo
9
0
WeChat Login

2026 捡网球挑战赛测试题目

欢迎来到 2026 捡网球挑战赛测试题目,本题目旨在让各位选手熟悉赛题的同时,进行初次的选拔。

一、问题定义

场景

  • 场地为二维平面,场地上无障碍
  • 一共有10个球,位置随机
  • 2个桶,位置固定在角点
  • 机器人初始位置固定
  • 机器人每次只能携带一个球

动作模式

机器人的动作模式固定为:

当前位置 -> 选择一个球 -> 夹起 -> 选择一个桶 -> 放入 -> 选择下一个球 ...

移动代价计算

  • 移动距离使用欧式距离 sqrt{x^2 + y^2}
  • 总代价 = 所有移动距离之和

目标

将所有球放入桶中,使总代价最小

现有条件

test_case文件,假设了球的位置、桶的位置、机器人出发位置,如图所示

绿色:球
红色:桶
黄色:机器人出发点

img.png

二、代码修改位置

代码启动

可以在项目根目录运行命令查看结果

python3 src/run_all_test.py

在src/student_code.py下,当前已经实现了最简单的路径规划程序,(假设所有的球都放到1号桶中)

返回捡球的顺序和放入桶的编号的序列

def plan(self): """ // TODO: 请在此处实现你的路径规划逻辑 目标:使总路径最短。 当前约束:载重为 1。 """ # 这是一个待优化的占位逻辑(按索引顺序) path = [] for i in range(len(self.balls)): # 逻辑提示: # 1. 选择下一个要捡的球 i # 2. 选择送往 0 号桶还是 1 号桶 path.append((i, 1)) return path

三、数据说明

在test_case.json中的 target_score 字段表示为,在贪心算法做路径规划下的路径长度

四、通过要求

通过实现算法,使得在不同测试项下的路径长度都小于或等于标准路径长度,但要求至少有一项小于标准路径长度

About

No description, topics, or website provided.
Language
Python100%