QOJ.ac

QOJ

実行時間制限: 0.5 s メモリ制限: 64 MB 満点: 100

#4736. 科斯廷兰

統計

Costin 是 Costinland 的独裁者,这个国家位于太平洋中部的一个小岛上。有一天,Costin 开始感到沮丧,因为他的岛屿太小了。为了消除自己的沮丧,他决定征服其他国家,这样 Costinland 的领土和作为独裁者的影响力就会变得更大!为了做到这一点,他需要一支军队!但 Costinland 没有公民符合独裁者的要求……那么,还有什么军队比一支由 Costin 组成的军队更好呢?因此,作为 Costinland 最聪明的人,他在一个周六的晚上发明了克隆技术。作为一个非常爱玩的人(Costinland 最爱玩的人),他想在创造克隆体的同时与它们一起玩。

为此,Costin 选择了一块由 $N \times M$ 个单元格组成的土地。单元格有 4 种类型: “X”(如果 Costin 踏上此单元格,他会克隆自己;其中一个 Costin 向右走,另一个向下走), “r”(如果 Costin 踏上此单元格,他将向右走,无论其初始方向如何), “d”(如果 Costin 踏上此单元格,他将向下走,无论其初始方向如何), “.”(如果 Costin 踏上此单元格,他将不会改变其初始方向,并移动到其方向指示的下一个单元格)。

Costin 从 $(1,1)$ 出发,想要与所有创造出的克隆体一起到达 $(N,M)$。Costin 也非常懒惰(Costinland 最懒的人),所以他“客气地”请求你帮助他构建这样一个矩阵,使得恰好有 $K$ 个克隆体到达 $(N,M)$。克隆体在途中不能“丢失”(请仔细阅读约束条件)。

任务

给定 $K$,帮助 Costin 生成这样一个(小型)矩阵,使得恰好有 $K$ 个 Costin 到达 $(N,M)$。

输入格式

第一行包含一个整数:$K$。

输出格式

第一行包含两个整数:$N, M$(矩阵的大小)。接下来的 $N$ 行包含 $M$ 个字符,描述该矩阵。

数据范围

  • 位于 $(1,1)$ 的字符必须与“.”不同,以便为第一个 Costin 提供方向。(它可以是“X”、“d”或“r”)
  • 在到达 $(N,M)$ 之前,没有任何 Costin 会停止。
  • 为了不浪费 Costin 或在路径中丢失他们,矩阵的最后一行将仅由“r”组成,最后一列将仅由“d”组成。例外情况是,位于 $(N,M)$ 的字符将是“.”(因为 Costin 到达目的地后无需再提供方向)。
  • 为了获得 100 分,你需要生成一个矩阵,对于第一个子任务,其两边长度均小于或等于 5;对于第二个子任务,其两边长度均小于或等于 49(详见“评分”部分)。
子任务 分数 限制
1 20 分 $3 \le K \le 19$
2 80 分 $19 < K \le 10^{18}$

评分

设 $C \times D$ 为选手的矩阵大小。

子任务 1: 如果 $\max\{C,D\} \le 5$,你将获得该测试点 100% 的分数。 如果 $\max\{C,D\} = 6$,你将获得该测试点 60% 的分数。 如果 $6 < \max\{C,D\} \le 500$,你将获得 $60 \times \frac{500-\max\{C,D\}}{500-6} \%$ 的分数。 如果 $\max\{C,D\} > 500$,你将获得该测试点 0% 的分数。

子任务 2: 如果 $\max\{C,D\} \le 49$,你将获得该测试点 100% 的分数。 如果 $49 < \max\{C,D\} < 62$,你将获得 $60+40 \times \frac{1.2^{62-\max\{C,D\}}}{1.2^{62-49}} \%$ 的分数。 如果 $\max\{C,D\} = 62$,你将获得该测试点 60% 的分数。 如果 $62 < \max\{C,D\} \le 500$,你将获得 $60 \times \frac{500-\max\{C,D\}}{500-62} \%$ 的分数。 * 如果 $\max\{C,D\} > 500$,你将获得该测试点 0% 的分数。

实现细节

  • “The output does not fit the requirements”:如果你的矩阵不符合约束条件或输出格式,你将收到此消息。
  • “Matrix size too big”:如果 $\max\{C,D\} > 500$,你将收到此消息。
  • “The matrix does not generate the required number of Costins”:如果最终到达 $(N,M)$ 的 Costin 数量不恰好为 $K$,你将收到此消息。
  • 如果你没有收到上述任何消息,你将根据上述公式获得分数,并收到一条说明该测试点生成矩阵大小的消息。

样例

输入 1

11

输出 1

4 4
XXXd
.XXd
.XXd
rrr.

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.