4252: 所有可见整数之和恰好等于S

内存限制:1024 MB 时间限制:2.000 S
评测方式:文本比较 命题人:
提交:4 解决:1

题目描述

# Flip and Adjust ## 题目描述 有$N$张卡片,每张卡片正反两面都写有一个整数。第$i$张卡片正面写有整数$a_i$,反面写有整数$b_i$。你可以选择每张卡片正面朝上或反面朝上。 判断是否可以通过翻转卡片,使所有可见整数之和恰好等于$S$。如果可能,找出一种实现方法。

输入

## 输入格式 输入从标准输入中给出,格式如下: $N$ $S$ $a_1$ $b_1$ $a_2$ $b_2$ $\vdots$ $a_N$ $b_N$

输出

## 输出格式 首先,如果可以使可见整数之和恰好等于$S$,则输出"`Yes`",否则输出"`No`",后跟换行符。 另外,如果存在这样的放置方法,请输出一个长度为$N$的字符串,由"`H`"和"`T`"组成,表示实现该和的卡片放置方法。第$i$个字符应为"`H`",如果第$i$张卡片应正面朝上放置,为"`T`"如果应反面朝上。如果有多种可能的放置方法来实现该和,输出其中任何一种即可。

样例输入 复制

3 11
1 4
2 3
5 7

样例输出 复制

Yes
THH

提示

## 输入输出样例 ### 输入样例1 ``` 3 11 1 4 2 3 5 7 ``` ### 输出样例1 ``` Yes THH ``` ### 输入样例2 ``` 5 25 2 8 9 3 4 11 5 1 12 6 ``` ### 输出样例2 ``` No ``` ## 数据范围与提示 【样例1说明】 例如,以下放置方法可以使可见整数之和恰好等于$S(= 11)$: - 将第1张卡片正面朝上放置,第2张反面朝上,第3张反面朝上。 - 将第1张卡片反面朝上放置,第2张正面朝上,第3张正面朝上。 因此,输出"`HTT`"和"`THH`"都是可以接受的。 【样例2说明】 无法通过翻转卡片使可见整数之和恰好等于$S(= 25)$。 【数据范围】 - $1 ≤ N ≤ 100$ - $1 ≤ S ≤ 10000$ - $1 ≤ a_i, b_i ≤ 100 (1 ≤ i ≤ N)$ - 输入中的所有值都是整数。 【提示】 注意:此题评测方式为代提交模式,您的代码会提交至此题的源网站,查看评测结果会有一些延时,预计30秒左右,请耐心等待。 【此题为代提交,评测时间会较长】 ## 题目来源 ABC271D