1 条题解
-
0
题解
我们需要创建一个10x10的网格,其中行1-8包含车辆(速度1-9),行0和行9为空。车辆在行1-4向左移动,行5-8向右移动。以下是生成测试数据的代码:
#include <iostream> #include <vector> #include <cstdlib> #include <ctime> using namespace std; int main() { srand(time(0)); // 设置随机种子 // 输出START标记 cout << "START" << endl; // 生成8行车道数据 for (int i = 0; i < 8; ++i) { for (int j = 0; j < 10; ++j) { // 随机决定是否放置车辆(约50%概率) if (rand() % 2 == 0) { // 放置车辆,速度为1-9 cout << (rand() % 9 + 1); } else { // 空位 cout << 0; } // 输出空格分隔,除了最后一列 if (j < 9) cout << " "; } cout << endl; } // 输出END标记 cout << "END" << endl; return 0; }
代码解释
- 随机种子设置:使用当前时间作为随机种子,确保每次运行生成不同的数据。
- START标记:输出数据开始的标记。
- 车道数据生成:
- 遍历8行(行1-8)
- 每行10列,随机决定是否放置车辆(约50%概率)
- 如果放置车辆,随机生成速度1-9
- 使用空格分隔各列数据
- END标记:输出数据结束的标记。
生成数据示例
运行上述代码可能生成如下测试数据:
START 3 0 0 0 0 3 0 0 0 3 1 0 0 0 1 0 0 0 0 0 4 0 0 0 0 0 0 4 0 0 0 0 2 0 0 0 0 0 0 2 5 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 2 0 2 0 0 0 4 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 END
数据特点
- 随机性:车辆位置和速度都是随机生成的。
- 符合题目要求:
- 行1-4的车辆将向左移动
- 行5-8的车辆将向右移动
- 速度值为1-9
- 密度控制:约50%的格子有车辆,可以根据需要调整概率。
- 1
信息
- ID
- 1222
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 2
- 已通过
- 1
- 上传者