A134859.午枫的传话游戏
普及/提高-
官方
通过率:0%
时间限制:1.00s
内存限制:256MB
题目描述
班级里有 n 位同学,小午给每位同学安排了一个数字,第 i 位同学对应的数字为 ai。现在有如下规则:
如果两位同学对应数字的绝对差值恰好为 1,那么他们之间就可以直接传话。如果两位同学不能直接传话,但可以通过其他同学间接传话,也认为他们能够互相交流。
小午希望最后任意两位同学之间都能够完成传话。现在他可以手动增加一些“可以直接传话”的关系。请你求出:最少还需要增加多少组关系,才能让所有同学之间都能够互相传话。
输入格式
第一行输入一个整数 T,表示测试数据组数。
对于每组测试数据:
第一行输入一个整数 n,表示同学人数。
第二行输入 n 个整数 ai,表示每位同学对应的数字。
输出格式
对于每组测试数据,输出一行一个整数,表示最少需要手动增加的关系数量。
输入输出样例
输入#1
2 3 1 2 3 2 1 1
输出#1
0 1
说明/提示
【样例解释】
样例 1 解释
对应数字分别为:1 2 3
因为:
- 数字 1 和 2 的差值为 1
- 数字 2 和 3 的差值为 1
所以所有同学之间已经能够互相传话,不需要再增加关系。
样例 2 解释
对应数字分别为:1 1
两人的数字差值为 0,无法直接传话。
因此至少需要手动增加 1 组关系。
【数据范围】
对于 100% 的测试数据,满足:
1≤T≤1000
1≤n≤2×105
1≤ai≤2×105
单个测试文件中所有 n 的总和不超过 2×105
输入解题思路,AI测评打分。不知道怎么写?