实验七 数组(二)---阿迪看医生
实验七 数组(二)---阿迪看医生
- 0、题目概述
- 【问题描述】
- 【输入形式】
- 【输出形式】
- 【样例输入】
- 【样例输出】
- 【样例说明】
- 【评分标准】
- 1、分析
- 方法一
- 方法二
- 2、解决方案
- 3、代码
- 4、总结
0、题目概述
【问题描述】
这几天同学们总是对阿迪议论纷纷,这使得他很烦恼,似乎产生了一些抑郁,头也有点痛,打不起精神,他只好去看医生。然而,他只有去看过 n 个医生之后才能确诊病情,每个医生都需要上一个医生的诊断结果,因此他必须按顺序去预约每个医生,也就是说,他必须先去看医生1,然后再去看医生2,然后是医生3,等等。只有到最后一个医生那里才能确诊,且每天只能看一个医生。从今天开始,每个医生都有一个固定的出诊安排表,医生 i 在第 si 天看病人,然后在之后的每个第 di 天看诊。因此,他只在 si、si+di、si+2di、... 这些天工作。预约每个医生有些困难,他想知道看完所有医生至少需要多少天?
【输入形式】
输入的第一行一个正整数 n ,表示医生的数量。接下来的 n 行,每行两个正整数 si 和 di,表示第 i 个医生的工作情况。
【输出形式】
输出一行一个整数,表示阿迪看完最后一个医生的天数。
【样例输入】
3
2 2
1 2
2 2
【样例输出】
4
【样例说明】
第1位医生从第2天开始看病,然后在第4、6、8…天看诊
第2位医生从第1天开始看病,然后在第3、5、7…天看诊
第3位医生从第2天开始看病,然后在第4、6、8…天看诊
因此,阿迪可以在第2天去看第1位医生,然后在第3天去看第2位医生,第4天看第3位医生。
【评分标准】
1、分析
这一道题并不复杂,只需要模拟每一天能不能看医生就可以了。
方法一
现将所有医生的值班表和周期用一个二维数组保存,用一个变量记录问诊到哪一位医生,用一个计数器从第一天开始计录天数。如果当天当前医生可以接诊,则指向下一位医生的值班时间和周期。当所有医生都记录完(指完)之后,天数记录器的值就是答案。
方法二
用数组是不可能的
因为医生的值班表是需要问诊的医生的顺序提供的,所以我们可以问诊完一个医生再读入下一位医生的值班表和周期
小优化:天数不需要每次只加一天。看下一位医生的条件是当前的医生看完,所以可以从医生的角度出发。当医生的值班日期第一次大于当前的天数时,这个日期就是问诊这位医生的时间。只需要将这个日期当做当前天数,继续寻找下一位医生的值班日期第一次大于当前的天数即可。
2、解决方案
同分析。注意天数加减时的1。
3、代码
这里只提供方法二
#include <iostream>为避免学校oj系统查重抄袭,所有变量在使用时请进行修改
using namespace std;
int main()
{int a,b,c,d=1,e=1;cin>>a;while (e<=a) //拜访a次医生结束循环{cin>>b>>c;while (b<=d){b+=c; //计算当前医生的只把时间第一次大于当天数的日期}d=b;e++; //记录拜访了多少位医生}cout<<d;return 0;
}
4、总结
这一题并不复杂。总体思想是:下一位医生的问诊时间晚于当前医生的问诊时间。
前面的各种小优化解释的有些繁琐。如果无法理解,采用方法一即可。
大致思路如下:
while (doctor[i]<doctor[i-1]) //如果当前天数小于上一位医生的天数doctor+=zhouqi; //自加值班周期
如果上面的代码有错烦请指出。
实验七 数组(二)---阿迪看医生相关推荐
- 题快速公交 |小希的新工作 |岁月留痕 |排队喝水 |阿迪看医生 |松雅的花园 |拜访朋友 |猴导师 |贪心的阿迪 |飞机起飞时间安排 |松雅的旅馆 |小女孩和楼梯|小希与火车|基于神经网络的垃圾分类
写在前面:本题解旨在帮助进行作业参考,为学习升华所用.登高自卑,戒骄戒躁. 第一题:快速公交BRT 思路分析:本题考察数组基本应用,强模拟的题目. #include<iostream> u ...
- 3348 数据结构实验之数组二:稀疏矩阵
数据结构实验之数组二:稀疏矩阵 #include<iostream> #include<iomanip> using namespace std; int y,x; struc ...
- HNU实验五05阿迪看医生
[问题描述] 这几天同学们总是对阿迪议论纷纷,这使得他很烦恼,似乎产生了一些抑郁,头也有点痛,打不起精神,他只好去看医生.然而,他只有去看过 n 个医生之后才能确诊病情,每个医生都需要上一个医生的诊断 ...
- 【练习四 数组(强化) 编程题 9. 阿迪看医生 】
[问题描述] 这几天同学们总是对阿迪议论纷纷,这使得他很烦恼,似乎产生了一些抑郁,头也有点痛,打不起精神,他只好去看医生.然而,他只有去看过 n 个医生之后才能确诊病情,每个医生都需要上一个医生的诊 ...
- 2021-11-14阿迪看医生
[问题描述] 这几天同学们总是对阿迪议论纷纷,这使得他很烦恼,似乎产生了一些抑郁,头也有点痛,打不起精神,他只好去看医生.然而,他只有去看过 n 个医生之后才能确诊病情,每个医生都需要上一个医生的诊断 ...
- 数据结构实验之数组二:稀疏矩阵
Description 对于一个n*n的稀疏矩阵M(1 <= n <= 1000),采用三元组顺序表存储表示,查找从键盘输入的某个非零数据是否在稀疏矩阵中,如果存在则输出OK,不存在则输出 ...
- c语言实验7字符串,C语言实验六(第七章二维数组字符串数组)
C语言实验六(第七章二维数组字符串数组) 第 1 页 共 7 页第七章二维数组.字符串数组题[书面作业] 以书面作业形式上交,2010 年 11 月 1 日课堂交三道题的源程序1. 编写一个主函数:用 ...
- 超星高级语言程序设计实验作业 (实验04 数组及其在程序设计中的应用)(二)
超星高级语言程序设计实验作业 实验04 数组及其在程序设计中的应用(二) 注:以下内容仅供交流,代码都是本人自己写的,还请同学们先自己编写再进行交流. 7.检验矩阵重复元素 题目描述:编写程序判断任意 ...
- 【正点原子Linux连载】第七十二章 RGB转HDMI实验 -摘自【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.0
1)实验平台:正点原子阿尔法Linux开发板 2)平台购买地址:https://item.taobao.com/item.htm?id=603672744434 2)全套实验源码+手册+视频下载地址: ...
最新文章
- vue-cli eslint 规则
- jquery选择器案例分享
- python语言支持函数式编程_Python语言之Pyhton入门笔记函数式编程
- etmvc mysql乱码_etmvc中集成spring使用druid连接池
- Maven 持续介绍与注意事项
- sqlite3的命令简单说明
- SharePoint 2010-在ribbon上添加表单,将默认control加到自定义group中
- 深入理解JVM虚拟机读书笔记——垃圾回收算法
- 微信小程序——案例:收货信息表单
- 深圳腾讯地图地铁站经纬度
- 关于debug调试在Controller中形参PageWeb<T>(即分页封装泛型)的pageNum,pageSize赋值问题
- 计算机考研复试——数据库篇
- 首次登录强制修改密码
- 全栈式PHP集成环境-laragon(二) 配置、使用
- 为什么HashMap的长度一定是2的次幂?
- web的首屏加载优化
- SQLite数据库database is locked解决
- Regulator相关GPIO控制使用流程简析
- linux 磁盘空间查询
- java字符串转16进制