AT_pakencamp_2019_day4_g 三つの条件
题目描述
我非常喜欢寿司。
有一个整数 $X$,它是一个 $n$ 位的 $a$ 进制数,其中最高位可以是 $0$。
另有一个函数 $F(X)$,定义为 $X$ 在 $a$ 进制下各位数字之和,并用十进制表示。例如,如果 $a = 7$ 且 $X = 562$,则 $F(X) = 13$。
现在,请找出所有满足以下三个条件的整数 $X$,并按从小到大的顺序输出其中最小的 $K$ 个:
1. $F(X) = m$。
2. $X'$(将 $X$ 转换为十进制后的整数)满足 $X' \mod p = t$。
3. 对于所有 $s_i = 0\ (1 \leq i \leq n)$ 的情况,整数 $X$ 的 $a^{n-i}$ 位必须为 $0$。
- 例如,如果 $n = 7$, $a = 10$, $s = 1110110$,那么 $X$ 的千位和个位必须为 $0$。
如果满足条件的整数少于 $K$ 个,则输出所有满足条件的整数后,在最后输出 `-1`。
输入格式
输入从标准输入提供,格式如下:
> $n\ a\ m\ p\ t\ K\ s_1\ s_2\ s_3\ s_4\ \ldots\ s_n$
输出格式
如果满足条件的整数至少有 $K$ 个,则按以下格式输出:
> (第 1 小的整数) (第 2 小的整数) ... (第 K 小的整数)
如果满足条件的整数不足 $K$ 个(假设满足条件的个数为 $K'$),则按以下格式输出:
> (第 1 小的整数) (第 2 小的整数) ... (第 $K'$ 小的整数) -1
每个整数的输出形式为:
设输出的整数为 $g_{n-1}a^{n-1} + g_{n-2}a^{n-2} + \cdots + g_0a^0$ (其中 $0 \leq g_i \leq a-1$),则一行表示为:
> $g_{n-1}\ g_{n-2}\ g_{n-3}\ \cdots\ g_0$
说明/提示
### 约束条件
- $1 \leq n \leq 100$。
- $2 \leq a \leq 1,000,000$。
- $0 \leq m \leq 600$。
- $2 \leq p \leq 600$。
- $0 \leq t$。
- $1 \leq K \leq 2,000$。
- $s_i$ 是 `0` 或 `1`。
- $n, a, m, p, t, K$ 均是用十进制表示的整数。
### 部分分数
该题分为几个子任务,所有用例全部通过时,视为完成该子任务。
代码得分为所有已完成子任务分数的总和。
1. (7 分) $m = 1$。
2. (8 分) $n \leq 6$ 且 $a \leq 10$。
3. (24 分) $n \leq 32$ 且 $a = 2$。
4. (29 分) $n \leq 50$, $a \leq 10$, $m \leq 50$, $p \leq 50$。
5. (23 分) $a \geq m$。
6. (9 分) 无其他限制。
### 样例解释 1
在此示例中,满足条件的整数仅有 $10$ 和 $100$。虽然 $10$ 是两位数,但允许最高位为 $0$,所以可以视为 $010$。该输入示例满足子任务 1 的限制。
### 样例解释 2
在此输入示例中,满足条件的整数总共有 $23$ 个。由于 $K=25$,需要在最后输出 `-1`。
### 样例解释 4
可能没有任何整数满足所有条件。
**本翻译由 AI 自动生成**