1. 程式人生 > >洛谷P2911 [USACO08OCT]牛骨頭Bovine Bones【水題】

洛谷P2911 [USACO08OCT]牛骨頭Bovine Bones【水題】

ace ans 水題 pac 輸入 using 範圍 end div

題目大意:輸入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;
}

洛谷P2911 [USACO08OCT]牛骨頭Bovine Bones【水題】