luogu#P6123. [NEERC2016] Hard Refactoring

[NEERC2016] Hard Refactoring

题目描述

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

输入格式

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

如果一行有两个约束条件,第一个约束条件总是 xax \geq a 的形式,第二个约束总是 xax \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 -32768215-2^{15}) 且 32767\le 32767 21512^{15}-1)。