#ABC271D. [ABC271D] 翻转和调整(Flip and Adjust)
[ABC271D] 翻转和调整(Flip and Adjust)
Cannot parse: cfg.checker.includes is not a function
题目描述
有 张卡片,每张卡片正反两面都写有一个整数。第 张卡片正面写有整数 ,反面写有整数 。你可以选择每张卡片正面朝上或反面朝上。
判断是否可以通过翻转卡片,使所有可见整数之和恰好等于 。如果可能,找出一种实现方法。
输入格式
输入从标准输入中给出,格式如下:。
输出格式
首先,如果可以使可见整数之和恰好等于 ,则输出 "Yes
",否则输出 "No
",后跟换行符。
另外,如果存在这样的放置方法,请输出一个长度为 的字符串,由"H
"和"T
"组成,表示实现该和的卡片放置方法。
第 个字符应为 "H
",如果第 张卡片应正面朝上放置,为 "T
" 如果应反面朝上。
如果有多种可能的放置方法来实现该和,输出其中任何一种即可。
输入输出样例 #1
输入 #1
3 11
1 4
2 3
5 7
输出 #1
Yes
THH
输入输出样例 #2
输入 #2
5 25
2 8
9 3
4 11
5 1
12 6
输出 #2
No
说明/提示
样例 1 解释
例如,以下放置方法可以使可见整数之和恰好等于 :
- 将第1张卡片正面朝上放置,第2张反面朝上,第3张反面朝上。
- 将第1张卡片反面朝上放置,第2张正面朝上,第3张正面朝上。
因此,输出 "HTT"
和 "THH"
都是可以接受的。
数据范围
- $ 1\ \leq\ a_i,\ b_i\ \leq\ 100\ \,\ (1\ \leq\ i\ \leq\ N) $
- 输入中的所有值都是整数。