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 翻译