CF1366B.Shuffle

普及-

通过率:0%

时间限制:1.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

You are given an array consisting of nn integers a1a_1, a2a_2, ..., ana_n. Initially ax=1a_x = 1, all other elements are equal to 00.

You have to perform mm operations. During the ii-th operation, you choose two indices cc and dd such that li≤c,d≤ril_i \le c, d \le r_i, and swap aca_c and ada_d.

Calculate the number of indices kk such that it is possible to choose the operations so that ak=1a_k = 1 in the end.

给你一个由 nn 个整数 a1a_1, a2a_2, ..., ana_n 组成的数组。初始时 ax=1a_x = 1,其余所有元素均为 00。

你需要执行 mm 次操作。在第 ii 次操作中,你需选择两个下标 cc 和 dd,满足 li≤c,d≤ril_i \le c, d \le r_i,然后交换 aca_c 和 ada_d。

请计算满足如下条件的下标 kk 的个数:存在一种操作选择方式,使得最终 ak=1a_k = 1。

输入格式

The first line contains a single integer tt (1≤t≤1001 \le t \le 100) — the number of test cases. Then the description of tt testcases follow.

The first line of each test case contains three integers nn, xx and mm (1≤n≤1091 \le n \le 10^9; 1≤m≤1001 \le m \le 100; 1≤x≤n1 \le x \le n).

Each of next mm lines contains the descriptions of the operations; the ii-th line contains two integers lil_i and rir_i (1≤li≤ri≤n1 \le l_i \le r_i \le n).

第一行包含一个整数 tt(1≤t≤1001 \le t \le 100),表示测试用例的数量。随后是 tt 个测试用例的描述。

每个测试用例的第一行包含三个整数 nn、xx 和 mm(1≤n≤1091 \le n \le 10^9;1≤m≤1001 \le m \le 100;1≤x≤n1 \le x \le n)。

接下来的 mm 行每行描述一个操作;其中第 ii 行包含两个整数 lil_i 和 rir_i(1≤li≤ri≤n1 \le l_i \le r_i \le n)。

输出格式

For each test case print one integer — the number of indices kk such that it is possible to choose the operations so that ak=1a_k = 1 in the end.

对于每个测试用例,输出一个整数——即满足条件的下标 kk 的个数:存在一种操作选择方式,使得最终 ak=1a_k = 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=1a_k = 1 for every kk. To do so, you may use the following operations:

  1. swap aka_k and a4a_4;
  2. swap a2a_2 and a2a_2;
  3. swap a5a_5 and a5a_5.

In the second test case, only k=1k = 1 and k=2k = 2 are possible answers. To achieve a1=1a_1 = 1, you have to swap a1a_1 and a1a_1 during the second operation. To achieve a2=1a_2 = 1, you have to swap a1a_1 and a2a_2 during the second operation.

在第一个测试用例中,可以使得每个 kk 都满足 ak=1a_k = 1。为此,可执行以下操作:

  1. 交换 aka_k 与 a4a_4;
  2. 交换 a2a_2 与 a2a_2;
  3. 交换 a5a_5 与 a5a_5。

在第二个测试用例中,仅 k=1k = 1 和 k=2k = 2 是可能的答案。为使 a1=1a_1 = 1 成立,需在第二次操作中交换 a1a_1 与 a1a_1;为使 a2=1a_2 = 1 成立,需在第二次操作中交换 a1a_1 与 a2a_2。

输入解题思路,AI测评打分。不知道怎么写?

首页