#AT2328. D - Flip and Adjust
D - Flip and Adjust
当前没有测试数据。
D - 翻转和调整
得分:400 点
问题描述
有 $N$ 张卡片,每张卡片一面写有一个整数。第 $i$ 张卡片 $(1 \leq i \leq N)$ 前面写有整数 $a_i$,背面写有整数 $b_i$。
你可以选择将每张卡片正面或背面向上放置。
确定是否可以将卡片放置,使得可见整数的和正好等于 $S$。如果可能,找出一种放置卡片的方式实现该和。
约束条件
- $1 \leq N \leq 100$
- $1 \leq S \leq 10000$
- $1 \leq a_i, b_i \leq 100 \, (1 \leq i \leq N)$
- 输入中的所有值均为整数。
输入
输入从标准输入中按以下格式给出:
输出
首先,如果可以使可见整数的和正好等于 $S$,则输出 Yes
,否则输出 No
,然后换行。
此外,如果存在这样的放置方式,则输出一个长度为 $N$ 的字符串,由由 H
和 T
组成,表示卡片的放置方案。
第 $i$ 个字符 $(1 \leq i \leq N)$ 如果表示第 $i$ 张卡片应该正面向上,则该字符为 H
;如果代表卡片背面向上,则该字符为 T
。
如果有多个可能的放置方式来实现和,可以任意输出其中之一。
3 11
1 4
2 3
5 7
Yes
THH
例如,以下的放置方式使得可见整数的和正好等于 $S (= 11)$:
- 将第 1 张卡片正面向上放置,第 2 张卡片背面向上放置,第 3 张卡片背面向上放置。
- 将第 1 张卡片背面向上放置,第 2 张卡片正面向上放置,第 3 张卡片正面向上放置。
因此,接受输出 HTT
和 THH
等。
5 25
2 8
9 3
4 11
5 1
12 6
No
你不能放置卡片,使得可见整数的和正好等于 $S (= 25)$。