首页 > 其他分享 >Bovine Bones G

Bovine Bones G

时间:2024-04-11 09:59:16浏览次数:20  
标签:20 dice int sum Bovine leq Bones include

[USACO08OCT] Bovine Bones G

题面翻译

贝茜喜欢玩棋盘游戏和角色扮演游戏,所以她说服了约翰开车带她去小商店.在那里她买了三个骰子。这三个不同的骰子的面数分别为 s 1 , s 2 , s 3 s_1,s_2,s_3 s1​,s2​,s3​。

对于一个有 S S S 个面的骰子每个面上的数字是 1 , 2 , 3 , … , S 1,2,3,\ldots,S 1,2,3,…,S。每个面(上的数字)出现的概率均等。贝茜希望找出在所有“三个面上的数字的和”中,哪个和的值出现的概率最大。

现在给出每个骰子的面数,需要求出哪个所有“三个面上的数字的和”出现得最频繁。如果有很多个和出现的概率相同,那么只需要输出最小的那个。

数据范围: 2 ≤ s 1 ≤ 20 2\le s_1\leq 20 2≤s1​≤20, 2 ≤ s 2 ≤ 20 2 \leq s_2\leq 20 2≤s2​≤20, 2 ≤ s 3 ≤ 40 2 \leq s_3\leq 40 2≤s3​≤40。

题目描述

Bessie loves board games and role-playing games so she persuaded Farmer John to drive her to the hobby shop where she purchased three dice for rolling. These fair dice have S1, S2, and S3 sides

respectively (2 <= S1 <= 20; 2 <= S2 <= 20; 2 <= S3 <= 40).

Bessie rolls and rolls and rolls trying to figure out which three-dice sum appears most often.

Given the number of sides on each of the three dice, determine which three-dice sum appears most frequently. If more than one sum can appear most frequently, report the smallest such sum.

POINTS: 70

输入格式

* Line 1: Three space-separated integers: S1, S2, and S3

输出格式

* Line 1: The smallest integer sum that appears most frequently when the dice are rolled in every possible combination.

样例 #1

样例输入 #1

3 2 3

样例输出 #1

5

提示说明

Here are all the possible outcomes.

1 1 1 -> 3  
1 2 1 -> 4  
2 1 1 -> 4  
2 2 1 -> 5  
3 1 1 -> 5  
3 2 1 -> 6 
1 1 2 -> 4  
1 2 2 -> 5  
2 1 2 -> 5  
2 2 2 -> 6  
3 1 2 -> 6  
3 2 2 -> 7 
1 1 3 -> 5  
1 2 3 -> 6  
2 1 3 -> 6  
2 2 3 -> 7  
3 1 3 -> 7  
3 2 3 -> 8

Both 5 and 6 appear most frequently (five times each), so 5 is the answer.

代码内容

//#include <iostream>
//#include <algorithm>
//#include <string>
//#include <cmath>
//#include <ctime>
#include <bits/stdc++.h>
using namespace std;

typedef long long ll;

int main()
{
    int s1,s2,s3;
    cin>>s1>>s2>>s3;
    int arr[100]={0};
    int nums,i,j,k;

    for(i=1;i<=s1;i++)
        for(j=1;j<=s2;j++)
            for(k=1;k<=s3;k++)
            {
                nums=i+j+k;
                arr[nums]++;
            }

    int maxn=0,index;
    for(i=0;i<100;i++)
    {
        if(arr[i]>maxn)
        {
            maxn=arr[i];
            index=i;
        }
    }

    cout<<index<<endl;
    return 0;
}

标签:20,dice,int,sum,Bovine,leq,Bones,include
From: https://blog.csdn.net/2301_80065123/article/details/137525202

相关文章

  • P3670 [USACO17OPEN] Bovine Genomics S 题解
    题意给定\(2\)组字符串,每组\(n\)个,每个字符串包含\(m\)个字符。我们称一个三元组\((i,j,k)\)是合法的,当且仅当第二组的每个字符串中下标为\((i,j,k)\)的字符拼成的字符串与第一组的每个字符串中下标为\((i,j,k)\)的字符拼成的字符串均不相等。现在需要你对于给定的......
  • [USACO23DEC] Bovine Acrobatics S
    这题看起来无从下手,我们没法立即就找到多项式复杂度内的做法。故而考虑贪心。容易想到排序后处理。考虑两种排序方式:按体重排序按牛的数量排序显然第一种相比于第二种更可能是这道题的解法。尝试按体重从小到大处理,每次把新的一种体重的牛加进去。加到怎样的序列合适呢?我们......
  • DragonBones快速入门指南
    DragonBones快速入门指南黄竣(@fans8)DragonBones快速入门指南采用​​知识共享协议3.0版本​​。目录​​DragonBones是什么?​​​​功能特色​​​​下载与安装设置......