Skip to content

OOrangeeee/3oftware_Cpp

Repository files navigation

软挑思路

题目分析

输入分析

题目输入的是什么

初始化

地图:200 * 200 字符

图例:空地(.) 海洋(*) 障碍(#) 机器人初始位置(A) 泊位(B)

泊位:10 * 5 整数

每行依次为编号(id∈[0, 9])、坐标(x, y)、T_泊位→虚拟点(time∈[1, 1000])、每帧装货数(Velocity∈[1, 5])

泊位是4*4的方格,给出的坐标是左上角的位置

每行依次为编号(id)、坐标(x, y)、T_泊位→虚拟点(time)、每帧装货数(Velocity)

船容积:1 * 1 整数

依次为每只船最多能装的物品数(capacity∈[1, 1000])

每个船容积都一样

每只船最多能装的物品数(capacity)

每一帧交互

帧序号、当前金钱数:1 * 2 整数
地图上新增货物数(K∈[0, 10]):1 * 1 整数
新增货物信息:K * 3 整数

每行依次为坐标(x ,y)、价值(<=1000)

机器人信息:10 * 4 整数

每行依次为

  1. 携带货物?(1携带0未携带)
  2. 坐标(x ,y)
  3. 状态(1正常0恢复中)
船信息:5 * 2 整数

每行依次为

  1. 状态(0移动中1装货或运输完成2泊位外等待)
  2. 目标泊位(对应编号id,虚拟点为-1)

输出分析

我们应该输出什么

初始化

一行字符串 "OK" (表示初始化已完成)

每一帧交互

机器人指令

每行一条指令,格式为“指令(move/get/pull) 机器人编号(0~9) <参数>”

  1. move 机器人编号 0/1/2/3(0右1左2上3下) →移动
  2. get 机器人编号 →取货
  3. pull 机器人编号 →放货
船指令

每行一条指令,格式为“指令(ship/go) 船编号(0~4) <参数>”

  1. ship 船编号 泊位编号(-1~5) →前往泊位
  2. go 船编号 →前往虚拟点
一行字符串 "OK" (表示指令发布完毕)
最后,主动 flush 标准输出(避免判题器读不到数据导致超时)

细节和容易踩坑的地方总结

总结我们应该注意什么细节

其他

PreliminaryJudge.exe -m ./maps/map1.txt -l NONE -d log.txt "./out/build/x64-debug/main.exe"

记录

我希望在我的一生,我都能保持着这样一个爱好,就像现在一样,永远喜欢coding。(晋晨曦2024.3.14凌晨5.19作于华科沁苑网易技术俱乐部)。

About

软挑的C+代码

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published