AT_code_festival_2017_qualb_f Largest Smallest Cyclic Shift
题目描述
对于字符串 $S$,定义 $f(S)$ 为 $S$ 的所有循环移位中字典序最小的一个。例如,当 $S =$ `babca` 时,$S$ 的循环移位(`babca`, `abcab`, `bcaba`, `cabab`, `ababc`)中,字典序最小的是 `ababc`,因此 $f(S) =$ `ababc`。
给定三个整数 $X, Y, Z$,你需要构造一个包含恰好 $X$ 个字符 `a`,$Y$ 个字符 `b`,和 $Z$ 个字符 `c` 的字符串 $T$。如果有多个这样的字符串,你需要使得 $f(T)$ 在字典序上尽可能大。
求出 $f(T)$ 的字典序最大值。
输入格式
输入将以以下形式从标准输入中提供:
> $X$ $Y$ $Z$
输出格式
输出答案。
### 约束
- $1 \le X + Y + Z \le 50$
- $X, Y, Z$ 是非负整数。
### 样例解释 1
字符串 $T$ 必须由两个 `a` 和两个 `b` 构成。
- 当 $T =$ `aabb` 时,$f(T) =$ `aabb`。
- 当 $T =$ `abab` 时,$f(T) =$ `abab`。
- 当 $T =$ `abba` 时,$f(T) =$ `aabb`。
- 当 $T =$ `baab` 时,$f(T) =$ `aabb`。
- 当 $T =$ `baba` 时,$f(T) =$ `abab`。
- 当 $T =$ `bbaa` 时,$f(T) =$ `aabb`。
因此,$f(T)$ 的最大值是 `abab`。
---
Translated by User 735713.
说明/提示
### 制約
- $ 1\ \leq\ X\ +\ Y\ +\ Z\ \leq\ 50 $
- $ X,\ Y,\ Z $ は非負整数である。
### Sample Explanation 1
$ T $ は `a` 二個と `b` 二個からならなければなりません。 - $ T\ = $`aabb` のとき $ f(T)\ = $`aabb`. - $ T\ = $`abab` のとき $ f(T)\ = $`abab`. - $ T\ = $`abba` のとき $ f(T)\ = $`aabb`. - $ T\ = $`baab` のとき $ f(T)\ = $`aabb`. - $ T\ = $`baba` のとき $ f(T)\ = $`abab`. - $ T\ = $`bbaa` のとき $ f(T)\ = $`aabb`. となるので、 $ f(T) $ の最大値は `abab` です。