2890: 练61.2 掷骰子
内存限制:64 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:1
解决:1
题目描述
贝西喜欢玩桌上扮演游戏(BRPG),所以她说服农场主约翰开车送她到商店,在那里她买了三个骰子。
这三个骰子分别有 $S_1$,$S_2$,$S_3$个面。每个有 $S$ 面的骰子每一面的点数分别是 $1$,$2$,$3$,…,$S−1$,$S$。
贝西每次同时扔出三个骰子,她一直扔呀扔,试图找出三个骰子点数之和哪个出现的次数最多。
现在给定三个骰子中每个骰子的面数,求三个骰子的点数和哪个最频繁出现。如果有多解,输出最小的一个。
数据范围:($2≤S_1≤20$;$2≤S_2≤20$;$2≤S_3≤40$)。
这三个骰子分别有 $S_1$,$S_2$,$S_3$个面。每个有 $S$ 面的骰子每一面的点数分别是 $1$,$2$,$3$,…,$S−1$,$S$。
贝西每次同时扔出三个骰子,她一直扔呀扔,试图找出三个骰子点数之和哪个出现的次数最多。
现在给定三个骰子中每个骰子的面数,求三个骰子的点数和哪个最频繁出现。如果有多解,输出最小的一个。
数据范围:($2≤S_1≤20$;$2≤S_2≤20$;$2≤S_3≤40$)。
输入
第一行:三个正整数 $S_1$,$S_2$,$S_3$。
输出
一个整数表示最频繁出现的点数和。
样例输入 复制
3 2 3
样例输出 复制
5
提示
#include<bits/stdc++.h> using namespace std; int x,y,z,t[105],maxx=3; int main(){ cin>>x>>y>>z; for(int i=1;i<=x;i++){ for(int j=1;j<=y;j++){ for(int k=1;k<=z;k++){ t[i+j+k]++; } } } maxx=*max_element(t,t+85); for(int i=1;i<=85;i++){ if(t[i]==maxx){ cout<<i<<endl; return 0; } } }