洛谷P2911 [USACO08OCT]牛骨头Bovine Bones【水题】

题目大意:输入S1,S2,S3,随机生成三个数x,y,z,求x+y+z出现次数最多的数(如果有多个答案输出最小的),其中1<=x<=S1,1<=y<=S2,1<=z<=S3。

数据范围:(2 <= S1 <= 20; 2 <= S2 <= 20; 2 <= S3 <= 40)

由题可知数据范围不大,可以直接暴力,请见代码

/*
浴谷2911 
*/
#include <iostream>
using namespace std;
int main()
{
	int a,b,c,x[200],ans=0,ansx=0;
	cin >> a >> b >> c;
	for(int i=1;i<=199;i++)x[i]=0;
	for(int i=1;i<=a;i++)
		for(int j=1;j<=b;j++)
			for(int k=1;k<=c;k++)
				x[i+j+k]++;
	for(int i=1;i<=199;i++)
		if(x[i]>ansx){ansx=x[i];ans=i;}
	cout << ans << endl;
	return 0;
}

 

posted @ 2017-06-25 13:05  ghj1222  阅读(285)  评论(0编辑  收藏  举报