CF1366B.Shuffle
普及-
通过率:0%
时间限制:1.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given an array consisting of n integers a1, a2, ..., an. Initially ax=1, all other elements are equal to 0.
You have to perform m operations. During the i-th operation, you choose two indices c and d such that li≤c,d≤ri, and swap ac and ad.
Calculate the number of indices k such that it is possible to choose the operations so that ak=1 in the end.
给你一个由 n 个整数 a1, a2, ..., an 组成的数组。初始时 ax=1,其余所有元素均为 0。
你需要执行 m 次操作。在第 i 次操作中,你需选择两个下标 c 和 d,满足 li≤c,d≤ri,然后交换 ac 和 ad。
请计算满足如下条件的下标 k 的个数:存在一种操作选择方式,使得最终 ak=1。
输入格式
The first line contains a single integer t (1≤t≤100) — the number of test cases. Then the description of t testcases follow.
The first line of each test case contains three integers n, x and m (1≤n≤109; 1≤m≤100; 1≤x≤n).
Each of next m lines contains the descriptions of the operations; the i-th line contains two integers li and ri (1≤li≤ri≤n).
第一行包含一个整数 t(1≤t≤100),表示测试用例的数量。随后是 t 个测试用例的描述。
每个测试用例的第一行包含三个整数 n、x 和 m(1≤n≤109;1≤m≤100;1≤x≤n)。
接下来的 m 行每行描述一个操作;其中第 i 行包含两个整数 li 和 ri(1≤li≤ri≤n)。
输出格式
For each test case print one integer — the number of indices k such that it is possible to choose the operations so that ak=1 in the end.
对于每个测试用例,输出一个整数——即满足条件的下标 k 的个数:存在一种操作选择方式,使得最终 ak=1。
输入输出样例
输入#1
3 6 4 3 1 6 2 3 5 5 4 1 2 2 4 1 2 3 3 2 2 3 1 2
输出#1
6 2 3
说明/提示
In the first test case, it is possible to achieve ak=1 for every k. To do so, you may use the following operations:
- swap ak and a4;
- swap a2 and a2;
- swap a5 and a5.
In the second test case, only k=1 and k=2 are possible answers. To achieve a1=1, you have to swap a1 and a1 during the second operation. To achieve a2=1, you have to swap a1 and a2 during the second operation.
在第一个测试用例中,可以使得每个 k 都满足 ak=1。为此,可执行以下操作:
- 交换 ak 与 a4;
- 交换 a2 与 a2;
- 交换 a5 与 a5。
在第二个测试用例中,仅 k=1 和 k=2 是可能的答案。为使 a1=1 成立,需在第二次操作中交换 a1 与 a1;为使 a2=1 成立,需在第二次操作中交换 a1 与 a2。
输入解题思路,AI测评打分。不知道怎么写?