P11851 [TOIP 2023] 分子环
题目背景
$\textcolor{red}{\textbf{本题有 Special Judge,会依照解的好坏程度动态给分。}}$
题目描述
A 博士是学界研究外星球物质的最高权威,他因为发现外星球中的 `X` 与 `Y` 两种地球不存在的分子以及其形成的特殊化合物结构而被提名诺贝尔奖。在博士研究中,这两种分子不论是与自己或另一种分子间都可以形成化学键,并且更进一步地发现,任意大于等于 $3$ 个 `X` 与 `Y` 分子都可以以任意顺序形成一个环状的化合物;环状化合物中每一个分子与其前一个(逆时针方向)和后一个(顺时针方向)分子分别形成键结,并广泛分布在外星球上。A 博士将这种环状的化合物结构命名为**分子环**,为了方便表示这种分子环,A博士决定以任意一个分子做为起点顺时针依序写下各个分子形成的字串作为此分子环的表示。例如 `XYY` 与 `YYX` 与 `YXY` 都是指同一种分子环的构造。
A 博士也发现了当分子环形成时,这个分子环的不稳定程度与**最多连续相同分子**的数量为正比,因此他决定称这个数字为**分子环的不稳定度**。举例来说分子环 `YXY` 中因为最多有 $2$ 个连续的 `Y`(第一和第三个分子在环状中相邻),不稳定度为 $2$;同理, `XXYXXYXX` 分子环中因为可以找到 $4$ 个连续的 `X`(分子环表示中第 $1, 2, 7, 8$ 个分子),因此不稳定度为 $4$。
在研究完分子环的性质后,A博士希望能合成出多种不同的分子环来证明他的理论。具体来说,他希望合成的分子环满足下列的性质:
* 有 $a$ 个分子前后都是 `X` 分子
* 有 $b$ 个分子前后都是 `Y` 分子
* 以及有 $c$ 个分子前后分别是一个 `X` 分子和一个 `Y` 分子,前后顺序可以颠倒
为了让博士继续进行他的研究,A博士决定请你帮忙写个程序计算满足条件的分子环。并且他希望你的程序能输出**不稳定度较低的分子环**来降低合成的难度。由于分子环的表示有很多种,也不一定只有一种分子环满足博士要求,你只需要输出任意一种满足条件的分子环结构即可。
此题的得分会由你输出的分子环不稳定度决定,请见《评分说明》一节。
输入格式
> $a$ $b$ $c$
* $a$ 代表分子环中有多少个分子前后都是 `X` 分子
* $b$ 代表分子环中有多少个分子前后都是 `Y` 分子
* $c$ 代表分子环中有多少个分子前后有一个 `X` 及一个 `Y` 分子(可以前后顺序颠倒)
输出格式
若找得到分子环满足要求,请输出:
> $K$
> $M$
* $K$ 为输出分子环的不稳定度。
* $M$ 为一长度 $a+b+c$ 且只包含 `X, Y` 字元的字符串,表示分子环的结构。
若没有分子环能满足博士的要求,那请输出:
> $-1$
说明/提示
### 测试数据限制
* $0 \le a, b, c \le 10^5$。
* $a+b+c \ge 3$。
* 以上变量皆为整数。
### 评分说明
对每个有解的输入,评分程序会计算一个 $K^{*}$ 值代表满足博士要求的最小稳定度。若你的程序输出的分子环正确且满足博士要求,则该笔测试数据得分为:
$$\textbf{round}(\frac{1000}{1 + \min\{19, K - K^{*}\}}) \div 1000$$
乘以该子任务配分,其中 `round(x)` 代表对 $x$ 四舍五入取至整数位。该子任务的得分为所有输入档最小的得分,并请注意若有以下情况则该输入以 $0$ 分计:
* 不满足题目要求,包括
* 与 `XX`, `YY`, `XY` 相邻的分子数并非规定的 $a$, $b$, $c$ 个
* 有解却输出 `-1`
* 无解但输出有解
* 输出的 $K$ 值并非 $M$ 的不稳定度。
### 子任务
本题共有四组子任务,条件限制如下所示。每一组可有一或多笔测试数据,取该组所有测试数据中最低分为该子任务得分。
| 子任务 | 分数 | 额外输入限制 |
| :------: | :----: | ------------ |
| 1 | $8$ | $a + b + c \le 15$ |
| 2 | $29$ | $a, b, c \le 20$ |
| 3 | $21$ | $b=0$ 且 $2a \ge c$ |
| 4 | $42$ | 无额外限制 |