1072:鸡尾酒疗法

时间限制: 1000 ms 内存限制: 65536 KB
【题目描述】

鸡尾酒疗法,指“高效抗逆转录病毒治疗”。人们在鸡尾酒疗法的基础上又提出了很多种改进的疗法。为了验证这些治疗方法是否在疗效上比鸡尾酒疗法更好,可用通过临床对照实验的方式进行。假设鸡尾酒疗法的有效率为x,新疗法的有效率为y,如果y-x大于5%,则效果更好,如果x-y大于5%,则效果更差,否则称为效果差不多。下面给出n组临床对照实验,其中第一组采用鸡尾酒疗法,其他n-1组为各种不同的改进疗法。请写程序判定各种改进疗法效果如何。

【输入】

第一行为整数n(1<n≤20);其余n行每行两个整数,第一个整数是临床实验的总病例数(小于等于10000),第二个疗效有效的病例数。这n行数据中,第一行为鸡尾酒疗法的数据,其余各行为各种改进疗法的数据。

【输出】

有n-1行输出,分别表示对应改进疗法的效果:如果效果更好,输出better;如果效果更差,输出worse;否则输出same。

【输入样例】

5

125 99

112 89

145 99

99 97

123 98

【输出样例】

same

worse

better

same

重难点:

本题是使用新疗法与鸡尾酒疗法进行比较,而它们的类型都为浮点型。在之前的题解中曾多次提到:浮点型的比较,应注意精度问题。可以参考题解:【题解】1058:求一元二次方程,在此不再讨论精度误差问题。如果经过精度误差处理后还是不正确,可能与官方的测试数据有关。因为,如果官方按照错误的答案设计测试数据,那么就算写出正确的答案,也不能通过。

当然,通过测试,就算不考虑精度问题也能通过。但应严谨对待问题,尤其是在比赛时,题目都是通过精心设计的,否则很可能就会丢分了。

在上述《思路分析》中讲到,输入一组新疗法数据,接着是输出该组与鸡尾酒比较的结果,而不是继续输入。即输入->输出->输入->输出…

如此的话,不是错了吗?不是的,我们提交代码后,后台会评判我们的代码,其中输入的数据和输出的数据分别存储在两个文件中。说明后台的评判系统,从输入文件中读取数据,经过代码测试后,将该输出数据与输出文件对应的数据进行对比,如果一致则正确,否则为错误。

求解过程:

声明5个int类型变量n、x1、x2、y1、y2,n表示有n组数据,x1表示鸡尾酒总病例数,x2表示鸡尾酒有效病例数,y1表示新疗法总病例数,y2表示新疗法有效病例数。

输入3个整数分别给变量n、x1、x2。

声明2个double类型变量x和y,并把1.0 * x2 / x1的结果赋给x。其中x表示鸡尾酒有效率,y表示新疗法有效率。

循环从2开始,到n结束,循环体中:

1.输入2个整数分别给变量y1和y2。

2.把1.0 * y2 / y1的结果赋给y。

3.如果y - x > 0.05,则输出"better"并换行。

4.否则,如果x - y > 0.05,则输出"worse"并换行。

5.否则,输出"same"并换行。

6.i++。

参考代码 - C++:

题目中的5%,其实就是0.05。注意输出数据中,是一个结果一行,所以每输出一个结果记得要输出换行。当然,因为循环一次输出一个结果,也可以在最后才输出换行。

// 不考虑精度误差

#include <iostream>
using namespace std;
int main()
{int n, x1, x2, y1, y2;cin >> n >> x1 >> x2;double x = 1.0 * x2 / x1, y;for (int i = 2; i <= n; i++){cin >> y1 >> y2;y = 1.0 * y2 / y1;if (y - x > 0.05) cout << "better" << endl;else if (x - y > 0.05) cout << "worse" << endl;else cout << "same" << endl;}return 0;
}

参考代码 - C语言:

// 不考虑精度误差

#include <stdio.h>
int main()
{int n, x1, x2, y1, y2, i;scanf("%d %d %d", &n, &x1, &x2);double x = 1.0 * x2 / x1, y;for (i = 1; i < n; i++){scanf("%d %d", &y1, &y2);y = 1.0 * y2 / y1;if (y - x > 0.05) printf("better\n");else if (x - y > 0.05) printf("worse\n");else printf("same\n");}return 0;
}

1072:鸡尾酒疗法相关推荐

  1. 信奥赛一本通 C++题解 1072 鸡尾酒疗法

    1072:鸡尾酒疗法 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 72535     通过数: 31800 [题目描述] 鸡尾酒疗法,指"高效抗逆转录 ...

  2. 信息学奥赛一本通 1072:鸡尾酒疗法 | OpenJudge NOI 1.5 18

    [题目链接] ybt 1072:鸡尾酒疗法 OpenJudge NOI 1.5 18:鸡尾酒疗法 [题目考点] 1. 循环.判断 [解题思路] 先输入鸡尾酒疗法的数据,求出鸡尾酒疗法的有效率x 再分别 ...

  3. 信息学奥赛一本通(1072:鸡尾酒疗法)

    1072:鸡尾酒疗法 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 53663     通过数: 23161 [题目描述] 鸡尾酒疗法,指"高效抗逆转录 ...

  4. 【1072】鸡尾酒疗法

    1072:鸡尾酒疗法 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 62913     通过数: 27350 [题目描述] 鸡尾酒疗法,指"高效抗逆转录 ...

  5. 1072:鸡尾酒疗法 题解 信息学奥赛 NOIP

    关于 内容来源于微信公众号:大神编程.已经过原文作者授权. 题目: 1072:鸡尾酒疗法 超详细动画图文题解链接 题解目录(不断更新中) 喜欢信息学奥赛的同学们,可以一起交流学习哦 官方QQ群:893 ...

  6. 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言——1072:鸡尾酒疗法

    时间限制: 1000 ms 内存限制: 65536 KB 提交数: 14035 通过数: 6189 [题目描述] 鸡尾酒疗法,指"高效抗逆转录病毒治疗". 人们在鸡尾酒疗法的基础上 ...

  7. 1072:鸡尾酒疗法(C C++)

    [题目描述] 鸡尾酒疗法,指"高效抗逆转录病毒治疗".人们在鸡尾酒疗法的基础上又提出了很多种改进的疗法.为了验证这些治疗方法是否在疗效上比鸡尾酒疗法更好,可用通过临床对照实验的方式 ...

  8. 信息学奥赛一本通1072:鸡尾酒疗法

    [题目描述] 鸡尾酒疗法,指"高效抗逆转录病毒治疗".人们在鸡尾酒疗法的基础上又提出了很多种改进的疗法.为了验证这些治疗方法是否在疗效上比鸡尾酒疗法更好,可用通过临床对照实验的方式 ...

  9. 李兰娟院士等新冠病毒鸡尾酒疗法研究取得新进展

    新冠肺炎(COVID-19)在全球范围内引发一场前所未有的公共卫生危机.根据世界卫生组织统计,迄今为止,全世界已有超过5000万例COVID-19确诊病例,超过130万人死亡. 2020年12月1日, ...

  10. 【工业智能】用AI来做工业设备的故障诊断,目前还停留在“鸡尾酒疗法”阶段

    "对于工业设备而言,从运行状态数据搜集到上传云端存储分析,再到应用组件的整合,整个过程是一条非常长的产业链,做好产业链的某一点并不难,难的是将这些数据打通."周北川告诉数据猿. 记 ...

最新文章

  1. linux创建启动连接数据库,DB2入门(1)--安装、启动、连接
  2. 企业 - php nginx memcache
  3. 被动路由跟踪工具InTrace
  4. 清空mysql注册表步骤_完全卸载MySQL 数据库清空MySql注册表
  5. 4号meeting room的好处
  6. Android 第四课 活动的启动模式
  7. mvc mysql linq_MVC3+Linq to sql 显示数据库中数据表的数据
  8. 尽管速度如此之慢,为什么Python如此受欢迎?
  9. Decision Tree学习笔记(基础篇)
  10. 把Python程序的输出和异常信息自动写入文件
  11. 无法运行的愿意_旧电脑的福音:Win10精简版,运行比Win7更快,安装包不到3GB
  12. 14.1.2 Checking InnoDB Availability 检查InnoDB 可用性:
  13. 母亲节任务最后一个料理的源码
  14. Django推导Django内部模块:wsgiref与jinja2
  15. java j2c_将Java源代码转换为C++源代码的工具
  16. Chart.js插件使用的笔记
  17. 20210427瑞芯微RK3399在Android10下查看芯片温度
  18. 老公,我们现在无家可归了
  19. java 打包工具jar,打包工具类为jar包,注意事项
  20. 图像格式RGB与BGR互转

热门文章

  1. Vue+el-table实现不规则表格
  2. wifi上行下行速度测试_怎么测试上行速度,直观的测试 WiFi上下行宽带
  3. java osgi框架_4大 Java OSGi 框架比较 (Knopflerfish, Apache Felix, Equinox, Spring DM)
  4. kali linux 账号管理
  5. CodeLite 16.0可以编译通过,但是在编辑器界面会显示找不到标准库头文件
  6. 九州海上牧云记,电视剧节奏太慢?教你如何看全集
  7. Django-QuerySet之first(),last(),latest(),earliest()
  8. java.sql.SQLException: Incorrect string value: '\xF0\x9F\x90\x94
  9. 创新式开发探索(三) —— 反思自己的开发活动
  10. nginx openresty DNS resolver配置实例,通过配置resolver解决proxy_pass中使用变量参数,高性能负载均衡 NGINX Plus 中 RESTful API