U115224 「ACSL2019-2020 #3」Veitch

题目背景

本题来自 [ACSL](http://www.acsl.org/) 系列比赛2019-2020年的第三轮编程试题。 英文题面及数据点 $1-10$ 来自由举办方 [ASDAN](http://www.seedasdan.org/acsl/) 举办的中国赛区比赛。 **本题仅供练习,本人与上述两组织无关系。** 鉴于主办方给出的中文翻译并不十分靠谱,本题翻译由上传者 @zxp_oistream 自行翻译。

题目描述

![](https://cdn.luogu.com.cn/upload/image_hosting/zpiy4xos.png)

输入格式

一行,一个字符串,为给定的布尔表达式。每项中的变量按照字母顺序排列。

输出格式

对于每一个输入,输出将对应的「Veitch 图」自上到下转换为十六进制数后的值(具体请参考「样例解释」一部分)。

说明/提示

### 数据范围 如题目所述。 ### 数据点分布 | 编号 | 备注 | 分值 | Subtask | | ----------- | ----------- | ----------- | ----------- | | $1-4$ | 「题目描述」中的四个数据 | $5$ | $1$ | | $5$ | 样例 $1$ | $5$ | $2$ | | $5-15$ | 原题样例。其中 $6$ 号测试点(原题样例 $1$)为本题样例 $2$ | $5$ | $3$ | | $16-20$ | 原题测试点。鉴于官方结果未出(~~咕了一个月了~~),本题采用经过上传者手算验证正确的答案 | $5$ | $4$ | 原题并没有时空限制。本题对于全部测试点的时空限制均为 $1s/256MB$。 ### 样例解释 以表达式 $AB + \sim C + \sim A\sim D$ (即本题样例 $1$)为例。 ![](https://cdn.luogu.com.cn/upload/image_hosting/6fom85a9.png) $AB$ 覆盖 $5$ 号图的四个格子,$\sim C$ 覆盖 $6$ 号图的八个格子,$\sim A\sim D$ 覆盖 $7$ 号图的四个格子。$8$ 号图是前三个图中被覆盖的格子的并。将被覆盖的格子表示为 `1`,未被覆盖的表示为 `0`(如下图)。 ``` 1111 ->F 1101 ->D 1001 ->9 1011 ->B ``` 按照行转换为四个十六进制数字,合在一起就是 `FD9B`。 ### 重要提示 本题中的非运算符 `~` 是大部分键盘左上角那个 \` 字符的上面的那个字符,**本题 $\LaTeX$ 中的那个 $\sim$ 字符并不是该字符,请勿直接复制 $\LaTeX$!建议手打或者复制所有在代码框内的 ~ 字符。**