bzoj1599[Usaco2008 Oct]笨重的石子*

bzoj1599[Usaco2008 Oct]笨重的石子

题意:

三个不同的骰子,分别有S1,S2,S3个面。求出出现几率最大的和是多少。如果有很多种和出现的几率相同,那么就输出小的那一个。2≤S1≤20,2≤S2≤20,2≤S3≤40。

题解:

枚举。

代码:

1 #include <cstdio>
2 #define inc(i,j,k) for(int i=j;i<=k;i++)
3 using namespace std;
4 
5 int a,b,c,cnt[100],mx1,mx2;
6 int main(){
7     scanf("%d%d%d",&a,&b,&c); inc(i,1,a)inc(j,1,b)inc(k,1,c)cnt[i+j+k]++;
8     mx1=0; inc(i,1,a+b+c)if(cnt[i]>mx1)mx1=cnt[i],mx2=i; printf("%d",mx2); return 0;
9 }

20160917

原文地址:https://www.cnblogs.com/YuanZiming/p/5882837.html