题目链接
这个题目首先要推导一个公式即:1-(小明可以使用的最佳武器个数)/(n*2),具体的推导我就不说了,如果想要知道具体过程就去看这位老哥的吧
我是链接以下是代码
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
const double N = 6.67430e-11;
#define fi first
#define se second
#define pb push_back
#define mp make_pair
double a,c,d;
int n,b,temp,mins=0x3f3f3f3f,cnt;
int e[1005];
int main() {
int t;
cin>>t;
while(t--) {
memset(e,0,sizeof(e));
cin>>n;
mins=0x3f3f3f3f;
cnt=0;
for(int i=0;i<n;i++) {
cin>>a>>b;
temp=(ceil(100*1.0/a*1.0)-1)*b;//要向上取整所以用了ceil函数记得-1
e[i]=temp;
mins=min(mins,temp);
}
for(int i=0;i<n;i++) {
if(e[i]==mins) {
cnt++;
}
}
cout<<1-(double)cnt/(n*2)<<endl;
}
return 0;
}