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;
}
}
}