QUST日常训练(1)北极熊和大象

来源:互联网 发布:要成为一个编程大牛 编辑:程序博客网 时间:2024/05/16 19:03

来自圣彼得堡动物园的北极熊MenshykovUslada和来自基普动物园的大象Horace取得了6支木棍,他们要一起来玩一个木棍游戏。 MenshykovUslada和Horace决定用这些木棍去做一头大象或一头熊。它们可以按照以下方法去拼接一个动物:

 

l  四根棒代表动物的腿,这些木棒应具有相同的长度。

l  剩下的两根代表动物的头部和身体。熊的头棒必须比身体棒短。然而,大象有一个长鼻子,他的头棒必须和身体棒相等。请注意,以上腿棒和头部以及身体棒之间的关系没有任何限制。

                                 

动物园饲养员希望比赛结束后棒子没有损坏。你的任务是找出哪些动物可以从给定的一组棒组合成。

输入

输入第一行为数据组数T;

每个测试数据输入6个整数li

输出

如果可以组合成熊,输出"Bear",如果可以组合成大象,输出"Elephant"否则输出"Alien"

样例输入

34 2 5 4 4 44 4 5 4 4 51 2 3 4 5 6

样例输出

BearElephantAlien

提示

【数据说明】


对于 30%的数据,T=1


对于 80%的数据,0<T<10;


对于 100%的数据,0<T<90,1<=li<=9.



分析:水题(锻炼一下map。。。


#include <cstdio>#include <cstring>#include <map>#include <iostream>#include <algorithm> using namespace std; int main(){    int t;    cin>>t;    map <int,int> p;    while(t--)    {        p.clear();        int b;        for (int i=0;i<6;i++)        {            cin>>b;            if ( p.count(b) == 0) p[b]=1;            else p[b]++;        }        int ok=0;        map<int,int>::iterator it=p.begin();        for (;it!=p.end();it++)        {            if (it->second >=4) {it->second-=4;ok=1;break;}        }        if (!ok) printf("Alien\n");        else        {            int a[2],g=0;            for (it=p.begin();it!=p.end();it++)            {                if (it->second>0 && it->second <2) a[g++]=it->first;                else if (it->second == 2) a[0]=a[1]=it->first;            }            if (a[0]-a[1] == 0) printf("Elephant\n");            else printf("Bear\n");        }    }    return 0;}




0 0
原创粉丝点击