当前位置:   article > 正文

C++知识点总结(23):高级模拟算法真题 ★★★☆☆《骰子游戏》

C++知识点总结(23):高级模拟算法真题 ★★★☆☆《骰子游戏》

骰子游戏

1. 审题

題目描述

E r i c Eric Eric 最近在澳门旅游,澳门游乐场有这样一个骰子游戏,他们使用三颗六面骰子,游戏规则如下:点数的优先级是 6 6 6 5 5 5 4 4 4 3 3 3 2 2 2 1 1 1,当三个骰子的点数都相同时,称为“豹子”,豹子按点数优先级比较大小;当两个骰子的点数相同时,称为“对子”,所有对子都按剩余骰子的点数优先级比较;其他情况称为“点子”,点子按点数和比较大小;豹子比对子、点子大,对子比点子大,现在 E r i c Eric Eric 需要和电脑先模拟投骰子的情况,请你来判断一下胜负情况(没有为什么,总是我们来帮忙 )。

输入描述

第一行为一个正整数 n n n,表示一共有 n n n 次游戏,以后每两行表示一个样例,第一行是 E r i c Eric Eric 骰子的点数,第二行为电脑骰子的点数。

输出描述

输出有 n n n 行,如果是 E r i c Eric Eric 赢,则输出 "Eric",如果是电脑赢,则输出 "Computer",其他情况都输出 "Balance"

2. 参考答案

  • 伪核心代码
getsum(a[])
    if (a[0] == a[1] && a[0] == a[2])
        return a[0] + 25
    if (a[0] == a[1])
        return a[2] + 15
    if (a[0] == a[2])
        return a[1] + 15
    if (a[1] == a[2])
        return a[0] + 15
    return a[0] + a[1] + a[2]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • AC代码
#include <iostream>
using namespace std;

int n;
int eric[5], computer[5];
int sumeric, sumcomputer;

int getsum(int a[])
{
    if (a[0] == a[1] &&  a[0] == a[2]) // 豹子
    {
        return a[0] + 25;
    }
    if (a[0] == a[1]) // 对子
    {
        return a[2] + 15;
    }
    if (a[0] == a[2]) // 对子
    {
        return a[1] + 15;
    }
    if (a[1] == a[2]) // 对子
    {
        return a[0] + 15;
    }
    return a[0] + a[1] + a[2]; // 其他情况
}

int main()
{
    cin >> n;
    for (int i = 1; i <= n; i++)
    {
        cin >> eric[0] >> eric[1] >> eric[2];
        cin >> computer[0] >> computer[1] >> computer[2];
        
        // 计算胜负
        sumeric = getsum(eric);
        sumcomputer = getsum(computer);
        if (sumeric > sumcomputer)
        {
            cout << "Eric\n";
        }
        else if (sumcomputer > sumeric)
        {
            cout << "Computer\n";
        }
        else
        {
            cout << "Balance\n";
        }
    }
    return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/214997
推荐阅读
相关标签
  

闽ICP备14008679号