Codeforces Round #595 (Div. 3), problem: (A) Yet Another Dividing into Teams
题目大意
n个学生 分别有不同的编程技能,然后编程技能之间差值等于1的两个同学不能处于同一团队 问这些学生的最小团队
题解
math
排序,然后遍历一遍,判断是否存在两个同学的编程技能相差为1,如果存在的话那就是两个团队 如果不存在差值为1的话,那就所有同学处于一个团队中
#include<bits/stdc++.h>
#define endl '\n'
using namespace std;
const int maxn=1000;
int a[maxn],n,t,cnt=0;
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
cin>>t;
while(t--){
cnt=0;
cin>>n;
for(int i=0;i<n;i++)
cin>>a[i];
sort(a,a+n);
for(int i=0;i<n-1;i++){
if(a[i+1]-a[i]==1)
cnt++;
}
if(cnt)
cout<<2<<endl;
else
cout<<1<<endl;
}
return 0;
}
学如逆水行舟,不进则退