CF1249A.Yet Another Dividing into Teams

入门

通过率:0%

时间限制:1.00s

内存限制:256MB

AC君温馨提醒

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

题目描述

You are a coach of a group consisting of nn students. The ii-th student has programming skill aia_i. All students have distinct programming skills. You want to divide them into teams in such a way that:

  • No two students ii and jj such that ∣ai−aj∣=1|a_i - a_j| = 1 belong to the same team (i.e. skills of each pair of students in the same team have the difference strictly greater than 11);
  • the number of teams is the minimum possible.

You have to answer qq independent queries.

你是一名由 nn 名学生组成的团队的教练。第 ii 名学生的编程能力为 aia_i,所有学生的编程能力互不相同。你需要将他们分组,使得:

  • 任意两名学生 ii 和 jj,若满足 ∣ai−aj∣=1|a_i - a_j| = 1,则他们不能被分到同一组(即:同一组中任意两名学生的编程能力之差严格大于 11);
  • 组的数量尽可能少。

你需要回答 qq 个相互独立的查询。

输入格式

The first line of the input contains one integer qq (1≤q≤1001 \le q \le 100) — the number of queries. Then qq queries follow.

The first line of the query contains one integer nn (1≤n≤1001 \le n \le 100) — the number of students in the query. The second line of the query contains nn integers a1,a2,…,ana_1, a_2, \dots, a_n (1≤ai≤1001 \le a_i \le 100, all aia_i are distinct), where aia_i is the programming skill of the ii-th student.

输入的第一行包含一个整数 qq(1≤q≤1001 \le q \le 100),表示查询次数。随后是 qq 次查询。

每次查询的第一行包含一个整数 nn(1≤n≤1001 \le n \le 100),表示该次查询中的学生人数。每次查询的第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \dots, a_n(1≤ai≤1001 \le a_i \le 100,且所有 aia_i 互不相同),其中 aia_i 表示第 ii 个学生的编程能力值。

输出格式

For each query, print the answer on it — the minimum number of teams you can form if no two students ii and jj such that ∣ai−aj∣=1|a_i - a_j| = 1 may belong to the same team (i.e. skills of each pair of students in the same team has the difference strictly greater than 11)

对于每个查询,请输出其答案——即可以组成的最少队伍数量,要求任意两名学生 ii 和 jj 若满足 ∣ai−aj∣=1|a_i - a_j| = 1,则他们不能属于同一支队伍(即同一支队伍中任意两名学生的技能值之差必须严格大于 11)。

输入输出样例

  • 输入#1

    4
    4
    2 10 1 20
    2
    3 6
    5
    2 3 4 99 100
    1
    42

    输出#1

    2
    1
    2
    1

说明/提示

In the first query of the example, there are n=4n=4 students with the skills a=[2,10,1,20]a=[2, 10, 1, 20]. There is only one restriction here: the 11-st and the 33-th students can't be in the same team (because of ∣a1−a3∣=∣2−1∣=1|a_1 - a_3|=|2-1|=1). It is possible to divide them into 22 teams: for example, students 11, 22 and 44 are in the first team and the student 33 in the second team.

In the second query of the example, there are n=2n=2 students with the skills a=[3,6]a=[3, 6]. It is possible to compose just a single team containing both students.

在示例的第一个查询中,有 n=4n=4 名学生,其技能值为 a=[2,10,1,20]a=[2, 10, 1, 20]。此处仅存在一条限制:第 11 名与第 33 名学生不能分在同一组(因为 ∣a1−a3∣=∣2−1∣=1|a_1 - a_3|=|2-1|=1)。可以将他们分为 22 组:例如,第 11、22 和 44 名学生在第一组,第 33 名学生在第二组。

在示例的第二个查询中,有 n=2n=2 名学生,其技能值为 a=[3,6]a=[3, 6]。可以仅组成一个包含这两名学生的组。

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

首页