uva 12108 Extraordinarily Tired Students(特别困的学生)
题目大意:
课堂上有n(n<=10)个学生,每个学生都有一个“睡眠-清醒“”周期,其中第i个学生清醒Ai分钟后睡Bi分钟,然后重复(1<=Ai,Bi<=5),初始时第i个学生处于他的周期的第Ci分钟,每个学生临睡前查看全班睡觉人数是否严格大于清醒人数,只有这个条件满足时才睡觉,否则坚持听课Ai分钟后再次检查这个条件,问多长时间后全班都清醒,
解题思路:
模拟整个过程直到全部清醒或者时间足够长,用Ci表示在周期中的状态时间
#include<stdio.h>
#include<algorithm>
using namespace std;
const int maxn=15;
int a[maxn],b[maxn],c[maxn];
int main(){int n;int res=0;while(scanf("%d",&n)==1&&n){for(int i=0;i<n;i++) scanf("%d%d%d",&a[i],&b[i],&c[i]);int t,count;for(t=1;t<10000;t++){count=0;for(int i=0;i<n;i++) if(c[i] <= a[i]) count++;if(count==n) break;for(int i=0;i<n;i++){if(c[i]==a[i]+b[i] || (c[i]==a[i] && count >= n-count))c[i]=0;c[i]++;}}if(t==10000) t=-1;printf("Case %d: %d\n",++res,t);}return 0;
}
转载于:https://www.cnblogs.com/Double-LL/p/6658920.html
uva 12108 Extraordinarily Tired Students(特别困的学生)相关推荐
- UVA - 12108 Extraordinarily Tired Students(特别困的学生)
题目链接UVA - 12108 题目思路: 用f[i]来纪录每个学生当前的状态(是否睡觉) 用now[i]来纪录每个学生处于当前状态的总时间 用first[i]来纪录所有学生最初时处于第几分钟,用于循 ...
- UVA 12108 Extraordinarily Tired Students
思路: ①用结构体stu,属性有清醒时间,睡眠时间,开始处于的时间,状态(醒着还是睡着), 还有计数器. ②二维数组存表格. ③在确定接下来要进入的状态之后,就一次把表格里持续状态的数据都修改掉,比如 ...
- UVa 12108 - Extraordinarily Tired Students(模拟+细节处理)
输入每个学生的睡眠-清醒周期和当前状态,每个学生在睡觉前都会检查班里人的状态,仅当睡眠人数严格大于清醒人数时才会睡觉,否则继续保持清醒状态持续一个周期.求学生全部清醒的时刻,不存在则输出-1. 现在看 ...
- 12108 - Extraordinarily Tired Students(特别困的学生)
题目: When a student is too tired, he can't help sleeping in class, even if his favorite teacher is ri ...
- 12108 - Extraordinarily Tired Students
水题一遍A,不过要注意一下每个同学临睡前的情况,根据样例就能知道,好好研究样例即可. #include<stdio.h> #include<string.h> int a[15 ...
- UVA12108-4.8(ti)-Extraordinarily Tired Students
UVA12108-4.8(ti)-Extraordinarily Tired Students 题目描述: https://uva.onlinejudge.org/index.php?option=c ...
- HDU 2932 Extraordinarily Tired Students (暴力+取模还是很强大的)
题目链接:HDU 2932 Extraordinarily Tired Students 题意:给出N个学生的状态,(a,b,c).a表示a分钟这醒着,b表示b分钟睡着,c表示刚开始是重周期(a+b) ...
- 特别困的学生 (特困生)
特别困的学生 (特困生) <div style="text-align: left;"><pre name="code" class=&quo ...
- 特别困的学生(Extraordinarily Tired Students, ACM/ICPC Xi'an 2006, UVa12108)
#include <cstdio> #include<iostream> using namespace std;struct student {int wake;int sl ...
最新文章
- linux打理ftp用户,Linux中如何添加/删除FTP用户并设置权限
- Silverlight中如何实现上下标的显示
- 一个按键控制数码管的开和关_一个按键控制一个数码管
- Powershell访问数组
- PYTHON设计模式学习(3):Singleton pattern
- tidb时间转字符串_如何使用TiDB节省时间
- 频繁模式增长Frequent-Pattern Growth(FP-Growth)
- VMware VSphere 引发的学案(三)
- matlab求系统根轨迹和系统增益,控制系统的根轨迹分析
- 解决UnicodeEncodeError: 'gbk' codec can't encode character '\xe4' in position 319等问题
- html设置表单禁止修改群名片,如何设置禁止管理员修改qq群名片
- 【机器学习】机器学习项目全流程(附带项目实例)
- 【膜拜原文作者】深入浅出的讲解傅里叶变换
- 3D动作绑定_3dmax【动画技巧】骨骼工具快速制作多动作人物动画
- 北京飞漫软件创始人魏永明
- js随机生成16进制颜色值
- java 捕获异常打印详细错误信息:Exception e
- Ubuntu 新建用户并赋予权限
- KITTI数据集下载(百度云)
- 史上最硬核网页截图方案原理深度剖析
热门文章
- 爬虫实战学习笔记_7 【实战】模拟下载页面视频(模板)
- Vue3 Composition API(一)——setup、reactive、ref、readonly
- vue-cli4.x 中 配置允许跨域请求
- 六、Web服务器——FilterListener 学习笔记
- LeetCode 1985. 找出数组中的第 K 大整数(排序)
- LeetCode MySQL 1661. 每台机器的进程平均运行时间
- LeetCode 1214. 查找两棵二叉搜索树之和(二叉树迭代器+双指针)
- LeetCode 72. 编辑距离(DP)
- LeetCode 696. 计数二进制子串
- POJ 1064 分割线缆(二分查找)