题目:
链接:https://www.nowcoder.com/acm/contest/132/A
来源:牛客网
题目描述
给6个火柴棍,问能不能拼成 “熊”或者“象”“熊”:4根棍子长度一样,另外2根棍子长度不一样“象”:4根棍子长度一样,另外2根棍子长度一样。
如果可以拼出熊,输出“Bear”如果可以拼出象,输出“Elephant”
如果都不可以拼出,输出“Hernia”
输入描述:
一行六个数表示每个火柴棍的长度
输出描述:
输出一行一个字符串表示答案
代码:
#include<iostream>
#include<algorithm>
#include<set>
using namespace std;
bool cmp(int a,int b)
{
return a>b;
}
int main()
{
int a[6];
while(cin>>a[0]>>a[1]>>a[2]>>a[3]>>a[4]>>a[5])
{
set<int> s;
s.insert(a[0]);
s.insert(a[1]);
s.insert(a[2]);
s.insert(a[3]);
s.insert(a[4]);
s.insert(a[5]);
if(s.size()==1)cout<<"Elephant"<<endl;
else if(s.size()==2)
{
int b[10]={0};
for(int i=0;i<6;i++)
{
b[a[i]]++;
}
sort(b,b+10,cmp);
if(b[0]==4)cout<<"Elephant"<<endl;
else if(b[0]==5)cout<<"Bear"<<endl;
}
else if(s.size()==3)
{
cout<<"Bear"<<endl;
}
else cout<<"Hernia"<<endl;
}
return 0;
}