题解
鸡尾酒疗法
1 条题解
-
0
解题思路
治疗有效率 = 有效病例数 ÷ 总病例数。先读第一组算鸡尾酒疗法的有效率
x,再依次读其余 n-1 组算每种改进疗法的有效率y,比较:y-x>0.05更好、x-y>0.05更差、否则差不多。参考代码
#include <iostream> using namespace std; int main() { int n; cin >> n; double x; // 鸡尾酒疗法有效率 { int p, q; cin >> p >> q; x = (double)q / p; // 有效率 = 有效病例数 / 总病例数 } for (int i = 1; i < n; i++) { int p, q; cin >> p >> q; double y = (double)q / p; // 改进疗法有效率 if (y - x > 0.05) cout << "better" << endl; else if (x - y > 0.05) cout << "worse" << endl; else cout << "same" << endl; } return 0; }复杂度分析
循环 n-1 次,n 最大 100,时间复杂度 O(n);额外空间复杂度 O(1)。
- 1