Codeforces Round #595 (Div. 3), problem: (A) Yet Another Dividing into Teams 【math + 贪心排序 +要么1 要么2】

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_42429718/article/details/102710383

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;
}
学如逆水行舟,不进则退

猜你喜欢

转载自blog.csdn.net/weixin_42429718/article/details/102710383
今日推荐