zcmu-1976

1976: 篮球队选拔

Time Limit: 1 Sec   Memory Limit: 128 MB
Submit: 218   Solved: 55
[ Submit][ Status][ Web Board]

Description

云南中医学院坐落于风景秀丽、四季如春的——昆明,创建于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老师能否得到一个选人方案?

Input

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

Output

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

Sample Input

221 3 2 41 1 1 111 22 1

Sample Output

CheatFail

HINT

解析:题目废话连篇,最主要的就最后面的几句,就是让我们求两个队中,a老师的人会不会出局。对于a来讲,肯定他是最优选择最厉害的人,所以直接排序对a老师的最弱的一个和b最强的一个比较。


水题。。。。。


代码:

#include
#include
#include
#define M 200005
using namespace std;

int a[M];
int main()
{
    int t,n,x;
    scanf("%d",&t);
    while(t--)
    {
        scanf("%d",&n);
        for(int i=0; i<2*n; i++)scanf("%d",&a[i]);
        for(int i=0; i<2*n; i++)scanf("%d",&x),a[i]+=x;
        sort(a,a+2*n);
        if(a[n-1]


你可能感兴趣的:(#,zcmu,oj)