計蒜客 T1609 擲骰子

題目鏈接:擲骰子

解題思路:將所有相加的結果枚舉,出現的次數保存到一個數組中,然後輸出相加結果出現次數最多的即可。

#include<iostream>
using namespace std;


int sum[101] = {0};    //相加的結果最大不會超過 20+20+40 101足夠大 
int main(){
	int s1,s2,s3;
	int max = 0;
	int k = 0;    //用k存儲出現最多的點數之和
	
	cin>>s1>>s2>>s3;
	for(int i=1;i<=s1;i++){
		for(int j=1;j<=s2;j++){
			for(int n=1;n<=s3;n++){
				sum[(i+j+n)]++;    //將所有相加的結果枚舉,出現的次數保存到數組中 
			}
		}
	}
	 
	//尋找出現次數最多的點數之和 
	for(int i=0;i<81;i++){
		//cout<<sum[i]<<" "; 
		if(sum[i]>max){
			max = sum[i];
			k = i; 
		}
	} 
	cout<<k;
	return 0;
	
} 

    

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章