题解:P2911 [USACO08OCT] Bovine Bones G
P2911
思路:
由题面得知,本题要求三个数的和组成的数列中的最小众数。
往下看数据范围,因为
CODE:
明确思路后代码其实很简洁。
#include<bits/stdc++.h>
using namespace std;
int a,b,c,x[100],maxn,ans=INT_MAX;
int main(){
//此处可自行添加快读等提速代码。
cin>>a>>b>>c;
for(int i=1;i<=a;i++){//依次枚举。
for(int j=1;j<=b;j++){
for(int k=1;k<=c;k++){
int s=i+j+k;//求和。
x[s]++;//和为s的组合出现次数。
if(x[s]==maxn){//最小的众数。
ans=min(ans,s);
}if(x[s]>maxn){//次数最大。
maxn=x[s];
ans=s;
}
}
}
}
cout<<ans;//输出出现次数最多的最小的数。
return 0;//好习惯。
}
有疑问记得私信哦!