zoukankan      html  css  js  c++  java
  • Codeforces Round #269 (Div. 2)

    Two polar bears Menshykov and Uslada from the St.Petersburg zoo and elephant Horace from the Kiev zoo got six sticks to play with and assess the animals' creativity. Menshykov, Uslada and Horace decided to make either an elephant or a bear from those sticks. They can make an animal from sticks in the following way:

    • Four sticks represent the animal's legs, these sticks should have the same length.
    • Two remaining sticks represent the animal's head and body. The bear's head stick must be shorter than the body stick. The elephant, however, has a long trunk, so his head stick must be as long as the body stick. Note that there are no limits on the relations between the leg sticks and the head and body sticks.

    Your task is to find out which animal can be made from the given stick set. The zoo keeper wants the sticks back after the game, so they must never be broken, even bears understand it.

    Input

    The single line contains six space-separated integers li (1 ≤ li ≤ 9) — the lengths of the six sticks. It is guaranteed that the input is such that you cannot make both animals from the sticks.

    Output

    If you can make a bear from the given set, print string "Bear" (without the quotes). If you can make an elephant, print string "Elephant" (wıthout the quotes). If you can make neither a bear nor an elephant, print string "Alien" (without the quotes).

    Sample test(s)
    input
    4 2 5 4 4 4
    
    output
    Bear
    input
    4 4 5 4 4 5
    
    output
    Elephant
    input
    1 2 3 4 5 6
    
    output
    Alien
    Note

    If you're out of creative ideas, see instructions below which show how to make a bear and an elephant in the first two samples. The stick of length 2 is in red, the sticks of length 4 are in green, the sticks of length 5 are in blue.


    题意:模拟水题

    #include <iostream>
    #include <cstdio>
    #include <cstring>
    #include <algorithm>
    #include <map>
    using namespace std;
    
    int main() {
    	map<int, int> mp;
    	mp.clear();
    	int f[6];
    	for (int i = 0; i < 6; i++) {
    		scanf("%d", &f[i]);
    		mp[f[i]]++;
    	}
    
    	int flag = 0;
    	for (int i = 0; i < 6; i++) 
    		if (mp[f[i]] >= 4) {
    			mp[f[i]] -= 4;
    			flag = 1;
    			break;
    		}
    
    	if (!flag) {
    		printf("Alien
    ");
    		return 0;
    	}
    
    	flag = 0;
    	for (int i = 0; i < 6; i++) 
    		if (mp[f[i]] == 2) flag = 1;
    	if (flag) printf("Elephant
    ");
    	else printf("Bear
    ");
    
    	return 0;
    }




    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    OneSQL安装
    Dropbox可伸缩性设计最佳实践分享
    软件开发实践的24条军规
    最精彩的英语学习经验总结:俺的英语之路
    Facebook和Google如何激发工程师的创造力
    十种更好的表达“你的代码写的很烂”的方法
    一次java程序的重构
    漂亮代码
    一段代码引发的思考
    最难忘的Bug调试经历
  • 原文地址:https://www.cnblogs.com/hrhguanli/p/4618197.html
Copyright © 2011-2022 走看看