AT_past19_h 加算と乗算
题目描述
给定一个整数 $S$,以及 $N$ 个整数 $a_1,a_2,\dots,a_N$。
你能否只用 $+$、$\times$ 运算符和这 $N$ 个整数构造出一个表达式,使得表达式的值恰好为 $S$?
其中,
- 每个整数必须且只能使用一次。
- 可以随意重新排列整数的顺序。
- 不可以使用括号。
- 不可以将整数直接拼接(即不能将 $1$ 和 $2$ 拼接成 $12$)。
输入格式
输入从标准输入读取,格式如下:
> $N$ $S$ $a_1$ $a_2$ $\dots$ $a_N$
输出格式
如果无法构造出值为 $S$ 的表达式,则输出 `No`。
如果可以,请输出如下格式,其中 $E$ 指代符合要求的一个表达式:
> Yes $E$
表达式中不应包含空格或换行。运算符 $+$ 和 $\times$ 分别使用 `+` 和 `x` 表示。
例如,表达式 $1\times 2 + 3 \times 4 \times 5$ 必须输出为:
```
1x2+3x4x5
```
如有多组可行解,输出任意一个均可。
说明/提示
### 样例解释 1
表达式 $1 + 2 \times 5$ 满足题意,可以输出此表达式。
表达式 $2 \times 5 + 1$ 同样满足要求,也可以输出。
### 样例解释 2
如果 $a_1, a_2, \dots, a_N$ 中有相同的整数,必须使用它们各自出现的次数。
### 数据范围
- $2 \leq N \leq 6$
- $1 \leq S \leq 10^{18}$
- $1 \leq a_i \leq 1000$
- 输入的所有数均为整数。
由 ChatGPT 5 翻译