c++
时间: 2023-07-01 17:14:02 浏览: 83
好的,下面是 C++ 版本的代码实现:
```c++
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
int t;
cin >> t;
while (t--) {
int good_count, bad_count, budget;
cin >> good_count >> bad_count >> budget;
double good_rate = (double)good_count / (good_count + bad_count);
while (budget > 0 && good_rate < 1) {
// 花钱买水军增加一条好评
if (budget > 0) {
good_count += 1;
budget -= 1;
}
// 举报掉一条差评
if (bad_count > 0 && budget > 0) {
bad_count -= 1;
budget -= 1;
}
good_rate = (double)good_count / (good_count + bad_count);
}
cout << fixed << setprecision(10) << good_rate << endl;
}
return 0;
}
```
输入格式为第一行一个整数 $t$,表示数据组数。接下来 $t$ 行,每行四个整数 $good\_count$、$bad\_count$、$budget$ 和 $n$,分别表示当前好评数、差评数、预算和数据组数。输出每组数据的最大好评率,保留 10 位小数。
阅读全文