1599: [Usaco2008 Oct]笨重的石子

1599: [Usaco2008 Oct]笨重的石子

Time Limit: 10 Sec  Memory Limit: 162 MB
Submit: 795  Solved: 543
[Submit][Status]

Description

贝西喜欢棋盘游戏和角色扮演类游戏所以她说服Farmer John把她带到玩具店,在那里,她购买了三个不同的骰子,这三个质量均匀的骰子,分别有S1,S2,S3个面。(2 <= S1 <= 20; 2 <= S2 <= 20; 2 <= S3 <= 40). 贝西掷啊掷啊掷啊,想要知道出现几率最大的和是多少。 问题给出三个骰子的面数,让你求出出现几率最大的和是多少。如果有很多种和出现的几率相同,那么就输出小的那一个。

Input

*第一行:三个由空格隔开的整数:s1,s2,s3

Output

*第一行:所要求的解

Sample Input

3 2 3

Sample Output

5


输出详解:


这里是所有可能的情况.

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

5和6出现的几率都是最大的,所以输出5.

HINT

Source

资格赛

题解:额。。。连优化都不需要了,O(n^3)都能0ms。。。

 1 var
 2    a1,a2,a3,i,j,k,l,m,n:longint;

 3    a:array[0..100of longint;
 4 begin
 5      readln(a1,a2,a3);
 6      fillchar(a,sizeof(a),0);
 7      for i:=1 to a1 do
 8          for j:=1 to a2 do
 9              for k:=1 to a3 do
10                  inc(a[i+j+k]);
11      j:=1;
12      for i:=2 to 100 do
13          if a[i]>a[j] then j:=i;
14      writeln(j);
15 end.     

原文地址:https://www.cnblogs.com/HansBug/p/4197915.html