备战省赛第一场 问题 A: 篮球队选拔

版权声明:版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_37618760/article/details/89048744

问题 A: 篮球队选拔

时间限制: 1 Sec  内存限制: 128 MB
提交: 798  解决: 319
[提交] [状态] [命题人:外部导入]

题目描述

云南中医学院坐落于风景秀丽、四季如春的——昆明,创建于1960年,是全国第二批成立的高等中医药本科院校,为云南省唯一一所中医药本科院校。学校设有11个二级学院及2个教学部。有呈贡、白塔两个校区,占地面积871.36亩。
2016年7月2日,云南省人民政府与国家中医药管理局共建云南中医学院。
截至2016年8月,学校拥有两个校区,占地面积763.20亩,其中呈贡校本部730.33亩,白塔校区32.87亩,总建筑面积27.3万㎡。学校现有11个二级学院、2个公共课教学部、1个实验中心、1个研究院。有教职工680人,其中,专任教师591人。图书馆藏书79万册,线装古籍图书1.8万册, 电子资源总量36TB.
云南中医学院(筹)坐落于风景秀丽、四季如春的昆明,创建于1960年,是全国第二批成立的高等中医药本科院校,为云南省唯一一所中医药本科院校。学校设有11个二级学院及2个教学部。有呈贡、白塔两个校区,占地面积871.36亩,呈贡校区是全国高等中医药院校中环境最优美的校园之一,其建筑为云南省“最具艺术特色建筑”。
现在云南中医学院准备成立一支篮球队,同学们都非常热情,报名人数也非常多,为了方便选拔,体育老师们准备了一个积分制度来进行选拔,这样的做法既公平又方便。特别的选拔方式也很容易吸引同学们的兴趣。
每周体育老师们会准备许多次训练,并且通知大家时间
组队:在规定时间到达场地并且有意向参与的同学,老师随机分配组队,队伍人数老师自行分配,至少一人一队,至多五人一队
训练:两个队伍比赛结束后仍可以继续与其他结束比赛的队伍进行比赛
奖励:胜利能获得135点积分值(每次训练中首胜获得270点积分),失败则获得45点积分。自行在训练时间组织比赛或自己组队,则可获得的所有积分减少到三分之一。
技术值∈[0,2000]:技术值是对同学们篮球技术的数值化估计,会因为同学的训练而发生改变,但不会因为任何除技术外的因素影响
发挥情况∈[-1000,1000]:老师对同学篮球技术的估计是理想化的,当然在正式进行比赛时,各种影响因素也被老师数值化为一个整数(当然运气也算作操作水平的一种)
整体篮球技术:数值化后的发挥情况可以直接添加到技术值上,在同学们单独对战(斗牛)的胜利与否与双方的整体篮球技术有关,整体篮球技术高的可以获胜。(若整体篮球技术相等,则表示双方不论谁控球,都无法进球)
比赛内可以提供积分的有:篮板,抢断,盖帽,扣篮,篮板和抢断每次提供21点积分,盖帽每次提供63点积分,扣篮每次提供79点积分。
限制:每场比赛中获得积分总和不能超过300积分。
一次训练时候,a老师给出了一个新的组队方案:将所有同学分成两队,一队由他带领,一队由另外一位体育老师b老师带领。
组队的时候,a老师因为是发起者,所以他可以选择自己队的成员,也就是他选择一半的同学进入自己的队,剩下一半同学归b老师队。
然后a老师每次派出己方一人进行单挑赛,由b老师从自己队伍中选择与之比赛的队员,进球数量多的一方获胜,败者出局。当然为了防止同学过度训练,每位同学只能进行一场单挑赛。每场比赛持续五分钟,若结束时双方都未进球,则两人同时出局。
现在a老师希望自己的队伍没有人出局,请问a老师能否得到一个选人方案?

输入

 第一行包含一个正整数T(1≤T≤10)表示多组输入数据,
每组数据第一行包含一个正整数n(1≤n≤100000)表示有2n位同学参与训练
第二行包含2n个正整数表示每位同学的技术值ai(0<=ai<=2000)
第三行包含2n个正整数表示每位同学的发挥水平bi(-1000<=bi<=1000)

输出

 每组数据包含一行,若能得到a老师想要的方案,则输出"Cheat",若不能得到,则输出"Fail"。

样例输入

复制样例数据

2
2
1 3 2 4
1 1 1 1
1
1 2
2 1

样例输出

Cheat
Fail

[提交][状态]

分析:首先表扬一波出题人疯狂的语言表达能力,读了半天(不,是大半天才发现就是一个贪心问题emmmmm)

代码:

#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
#define maxn 200005
int a[maxn];
int main(){
    int t,n;
    cin>>t;
    int a[maxn],b[maxn],c[maxn];
    while(t--){
        cin>>n;
        int x;
        for(int i=0;i<2*n;i++){
            cin>>a[i];
        }
        for(int i=0;i<2*n;i++){
            cin>>b[i];
        }
        for(int i=0;i<2*n;i++){
            c[i]=a[i]+b[i];
        }
        sort(c,c+2*n);
        //cout<<c[0]<<" "<<c[n-1]<<endl;
        if(c[n]!=c[n-1]){
            cout<<"Cheat"<<endl;
        }
        else{
            cout<<"Fail"<<endl;
        }
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_37618760/article/details/89048744
今日推荐