CF1920A Satisfying Constraints
题目描述
Alex 正在解决一个问题。他有 $n$ 个关于整数 $k$ 的约束条件。约束条件有三种类型:
1. $k$ 必须大于等于某个整数 $x$;
2. $k$ 必须小于等于某个整数 $x$;
3. $k$ 不能等于某个整数 $x$。
请帮助 Alex 求出满足所有 $n$ 个约束条件的整数 $k$ 的个数。保证答案是有限的(至少存在一个 1 类型约束和一个 2 类型约束)。同时,保证没有两个完全相同的约束条件。
输入格式
每组测试数据包含多个测试用例。第一行包含一个整数 $t$($1 \leq t \leq 500$),表示测试用例的数量。接下来是每个测试用例的描述。
每个测试用例的第一行包含一个整数 $n$($2 \leq n \leq 100$),表示约束条件的数量。
接下来的 $n$ 行,每行包含两个整数 $a$ 和 $x$($a \in \{1,2,3\}$,$1 \leq x \leq 10^9$)。$a$ 表示约束条件的类型。如果 $a=1$,则 $k$ 必须大于等于 $x$;如果 $a=2$,则 $k$ 必须小于等于 $x$;如果 $a=3$,则 $k$ 不能等于 $x$。
保证存在有限个整数满足所有 $n$ 个约束条件(至少存在一个 1 类型约束和一个 2 类型约束)。同时,保证没有两个完全相同的约束条件(即所有的 $(a, x)$ 对都是不同的)。
输出格式
对于每个测试用例,输出一个整数,表示满足所有 $n$ 个约束条件的整数 $k$ 的个数。
说明/提示
在第一个测试用例中,$k \geq 3$ 且 $k \leq 10$。此外,$k \neq 1$ 且 $k \neq 5$。满足条件的整数 $k$ 为 $3,4,6,7,8,9,10$,所以答案是 $7$。
在第二个测试用例中,$k \ge 5$ 且 $k \le 4$,这是不可能的情况,所以答案是 $0$。
由 ChatGPT 4.1 翻译