{"problem":{"name":"健将青蛙……","description":{"content":"**这是一道提交答案题。** 你的大脑需要被锻炼。 你是一个 bot。你有一个大小为 $300$ 的内存条（下标为 $1\\sim 300$），初始时全为 $0$。每个内存条中存储着一个 $32$ 位整数（即 C++ 中的 `int`）。 你需要构造一个网格图，某些网格上的节点有一个指令，机器人根据指令进行操作和移动。 下文把有指令的节点称作特殊节点。 节点上的指令有如下几种： - 增减","description_type":"Markdown"},"platform":"Luogu","limit":{"time_limit":3000,"memory_limit":524288},"difficulty":{"LuoguStyle":"P7"},"is_remote":true,"is_sync":true,"sync_url":null,"sign":"LGP10396"},"statements":[{"statement_type":"Markdown","content":"**这是一道提交答案题。**\n\n你的大脑需要被锻炼。\n\n你是一个 bot。你有一个大小为 $300$ 的内存条（下标为 $1\\sim 300$），初始时全为 $0$。每个内存条中存储着一个 $32$ 位整数（即 C++ 中的 `int`）。\n\n你需要构造一个网格图，某些网格上的节点有一个指令，机器人根据指令进行操作和移动。\n\n下文把有指令的节点称作特殊节点。\n\n节点上的指令有如下几种：\n\n- 增减：将内存条某个位置上的整数增、减 $1$，并向指定的方向移动一步；\n- 比较：比较内存条中下标为 $i,j$ 的数的大小，并根据大小向指定方向移动一步；\n- 输入：机器人将从这里出发，并向指定方向移动一步，**该节点不应被重复经过**；\n- 输出：机器人到达该节点时结束行动并输出指定位置的值。\n\n**其中输入、输出节点必须存在且唯一。**\n\n任务：\n\n1. 在初始内存条下标 $1,2$ 位置中读入 $a,b$，输出 $a+b$。保证 $0\\leq a,b\\leq 100$。\n2. 在初始内存条下标 $1$ 位置中读入 $a$，输出 $2^a$。保证 $0\\leq a\\leq 20$。\n3. 在初始内存条下标 $1$ 位置中读入 $a$，输出 $a^2$。保证 $1\\leq a\\leq 1000$。\n4. 在初始内存条下标 $1,2$ 位置中读入 $a,b$，输出 $a\\oplus b$。保证 $0\\leq a,b<2^{19}$。\n5. 在初始内存条下标 $1\\sim 51$ 位置中读入 $n=50,a_1,a_2\\dotsc,a_n$，输出升序排序后的 $a_1\\sim a_n$。保证 $0\\leq a_i\\leq100$。\n6. 在初始内存条下标 $1\\sim 59$ 位置中读入 $n=30,u_1,v_1\\dotsc,u_{n-1},v_{n-1}$，表示由 $n$ 个节点，$n-1$ 条边 $u_i,v_i$ 组成的树，要求输出给定树的直径长度（定义为树上最长的简单路径所包含的边数），保证 $1\\leq u_i,v_i\\leq n$。\n\n你需要保证机器人从输入节点出发能到达输出节点，并且中途不会访问到非特殊节点，且移动次数 $\\leq 5\\times 10^7$。\n\n## Output\n\n**本题使用 `Special Judge` 判定答案正误。**\n\n针对题目给定的 $6$ 个任务，你需要分别提交你的输出文件 `robot1.out~robot6.out`。\n\n对于每个文件，你的输出应为以下格式：\n\n第一行输出两个正整数 $n,m$ 表示网格大小为 $n$ 行 $m$ 列。你需要保证 $n\\times m\\leq 10^7$。\n\n第二行输出一个正整数 $k$ 表示特殊节点数量。其中 $1\\leq k \\leq n \\times m$。\n\n接下来 $k$ 行每行格式如下：\n\n前两个输出的整数 $x,y$ 表示特殊节点所在位置为第 $x$ 行第 $y$ 列，其中 $1\\leq x\\leq n,1\\leq y\\leq m$，且所有 $(x,y)$ 互不相同，接下来按照节点类型输出不同内容：\n\n- 若为自增节点，则输出 `+`，自减节点输出 `-`，并输出一个整数表示自增/自减的内存下标 $i$，其中 $1\\leq i\\leq 300$，最后输出一个 `LRUD` 中的字符表示移动方向（分别对应左右上下，下同）。\n- 若为比较节点，则输出 `c`，接下来两个整数 $i,j$ 表示比较的下标，你需要保证 $1\\leq i,j\\leq 300$。最后输出两个 `LRUD` 中的字符分别表示 $i$ 下标中的数大于 $j$ 下标中的数时的移动方向和 $i$ 下标中的数小于等于 $j$ 下标中的数时的移动方向。\n- 若为输入节点则输出 `i`，并输出一个 `LRUD` 中的字符表示移动方向。\n- 若为输出节点则输出 `o`，并输出一个整数 $p$ 表示输出大小，接下来 $p$ 个 **互不相同的整数** $a_1\\sim a_p$ 表示你要输出的内存条中的下标，你需要保证 $1\\leq p,a_i\\leq 300$。\n\n**你需要保证给出的特殊节点中输入、输出节点必须存在且唯一。**\n\n[samples]\n\n## Background\n\n小青蛙在打破监狱后，注重身体的锻炼。\n\n他成为了一只运动**健将**。\n\n他的故事还在继续……\n\n## Note\n\n上述样例给出了一个读入 $a,b$，输出 $\\max(a,b)$ 的程序。\n\n------------\n\n评分方式：若你的输出格式错误或给出结果错误，则获得 $0$ 分。否则对于每个测试点，你的得分与 $n\\times m$ 的大小有关。每个测试点有 $2$ 个评分参数 $c_1,c_2$，若你的 $n\\times m\\leq c_1$ 则获得该测试点满分，否则若 $c_1< n\\times m\\leq c_2$ 则获得该测试点 $60\\%$ 分数，否则获得 $40\\%$ 的分数。\n\n| Task Id | $c_1 =$ | $c_2 =$ | pts |\n| :----------: | :----------: | :----------: | :----------: |\n| 1 | $6$ | $9$ | $10$ |\n| 2 | $9$ | $12$ | $15$ |\n| 3 | $9$ | $10$ | $15$ |\n| 4 | $35$ | $48$ | $20$ |\n| 5 | $499$ | $999$ | $20$ |\n| 6 | $3\\times 10^3$ | $3\\times 10^5$ | $20$ |\n\n------------\n\n本题下发 `附件.zip` 中含有对解题有帮助的文件。\n\n- `./checker/checker.cpp`，其实现与评测时使用的 `Special Judge` 大致相同，\n- `./toy/index.html` 可在浏览器中使用。其为本题的网页版可视化工具，使用方法参见内部的 `instruction`。","is_translate":false,"language":"English"}],"meta":{"iden":"LGP10396","tags":["2024","洛谷原创","提交答案","Special Judge","O2优化","洛谷月赛"],"sample_group":[["","2 3\n4\n1 1 i R\n1 2 c 1 2 R D\n1 3 + 2 L\n2 2 o 1 2"]],"created_at":"2026-03-03 11:09:25"}}