#P6123. [NEERC 2016] Hard Refactoring

[NEERC 2016] Hard Refactoring

题目描述

对于一个变量 xx,给出一些约束条件,形如 x≥ax \geq a,x≤ax \le a 这些约束条件之间用||连接,然后你需要将这些约束条件简化,最后输出简化后的约束条件。

输入格式

输入不超过 10310^3 行,每行要么是两个用 && 连接的约束条件,要么就是单个的约束条件。

如果一行有两个约束条件,第一个约束条件总是 x≥ax \geq a 的形式,第二个约束总是 x≤ax \leq a 的形式。

除了输入的最后一行,每一行末尾都有一个 ||。

并且所有的字符(除了>=,<=,&&,||)之间均由空格隔开,且没有多余的前置、后置空格。

输出格式

输出若干行,表示最简的约束条件的形式(也就是使输出的行数尽量少),其余格式与输入格式保持一致。

输出的若干行可以不按照特定的顺序输出。

特别地,如果对于任意的 x∈[−32768,32767]x∈[-32768,32767],xx均能满足约束条件,仅输出一行true,反之,若对于任意的 x∈[−32768,32767]x∈[-32768,32767],xx均不能满足约束条件,仅输出一行false。

x >= 5 && x <= 10 ||
x >= 7 && x <= 20 ||
x <= 2 ||
x >= 21 && x <= 25 ||
x >= 8 && x <= 10 ||
x >= 100
x <= 2 ||
x >= 5 && x <= 25 ||
x >= 100

提示

对于所有在这一题中出现的数字(包括 xx),都≥−32768\ge -32768(−215-2^{15}) 且 ≤32767\le 32767 (215−12^{15}-1)。