CF1249A.Yet Another Dividing into Teams
入门
通过率:0%
时间限制:1.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are a coach of a group consisting of n students. The i-th student has programming skill ai. All students have distinct programming skills. You want to divide them into teams in such a way that:
- No two students i and j such that ∣ai−aj∣=1 belong to the same team (i.e. skills of each pair of students in the same team have the difference strictly greater than 1);
- the number of teams is the minimum possible.
You have to answer q independent queries.
你是一名由 n 名学生组成的团队的教练。第 i 名学生的编程能力为 ai,所有学生的编程能力互不相同。你需要将他们分组,使得:
- 任意两名学生 i 和 j,若满足 ∣ai−aj∣=1,则他们不能被分到同一组(即:同一组中任意两名学生的编程能力之差严格大于 1);
- 组的数量尽可能少。
你需要回答 q 个相互独立的查询。
输入格式
The first line of the input contains one integer q (1≤q≤100) — the number of queries. Then q queries follow.
The first line of the query contains one integer n (1≤n≤100) — the number of students in the query. The second line of the query contains n integers a1,a2,…,an (1≤ai≤100, all ai are distinct), where ai is the programming skill of the i-th student.
输入的第一行包含一个整数 q(1≤q≤100),表示查询次数。随后是 q 次查询。
每次查询的第一行包含一个整数 n(1≤n≤100),表示该次查询中的学生人数。每次查询的第二行包含 n 个整数 a1,a2,…,an(1≤ai≤100,且所有 ai 互不相同),其中 ai 表示第 i 个学生的编程能力值。
输出格式
For each query, print the answer on it — the minimum number of teams you can form if no two students i and j such that ∣ai−aj∣=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 1)
对于每个查询,请输出其答案——即可以组成的最少队伍数量,要求任意两名学生 i 和 j 若满足 ∣ai−aj∣=1,则他们不能属于同一支队伍(即同一支队伍中任意两名学生的技能值之差必须严格大于 1)。
输入输出样例
输入#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=4 students with the skills a=[2,10,1,20]. There is only one restriction here: the 1-st and the 3-th students can't be in the same team (because of ∣a1−a3∣=∣2−1∣=1). It is possible to divide them into 2 teams: for example, students 1, 2 and 4 are in the first team and the student 3 in the second team.
In the second query of the example, there are n=2 students with the skills a=[3,6]. It is possible to compose just a single team containing both students.
在示例的第一个查询中,有 n=4 名学生,其技能值为 a=[2,10,1,20]。此处仅存在一条限制:第 1 名与第 3 名学生不能分在同一组(因为 ∣a1−a3∣=∣2−1∣=1)。可以将他们分为 2 组:例如,第 1、2 和 4 名学生在第一组,第 3 名学生在第二组。
在示例的第二个查询中,有 n=2 名学生,其技能值为 a=[3,6]。可以仅组成一个包含这两名学生的组。
输入解题思路,AI测评打分。不知道怎么写?