一、题目

课堂上有n个学生(n<=10)。每个学生都有一个“睡眠-清醒”周期,其中第i个学生醒Ai分钟后睡Bi分钟,然后重复(1<=Ai,Bi<=5),初始第i个同学处于他的周期的Ci分钟。每个学生在临睡前,只有全班睡觉人数严格大于清醒人数才睡觉,否则坚持Ai分钟后再检查。问经过多长时间全班都清醒,不存在输出-1.

二、解题思路

重点在于体会Ci的含义,Ci表示第i个同学在自身周期内所处的状态。模拟整个过程,注意时间取长点,但不要太长。

三、代码

 #include<stdio.h>
#include<iostream>
#include<string.h>
using namespace std;
#define INF 10000
const int maxn = + ;
int A[maxn], B[maxn], C[maxn]; int main()
{
int n,T = ;
while (scanf("%d", &n) == && n)
{
for (int i = ; i < n; i++)
scanf("%d%d%d", &A[i], &B[i], &C[i]);
int t;
for (t = ; t < INF; t++) //从1开始的
{
int cnt = ; //cnt代表当前清醒的人数
for (int i = ; i < n; i++)
if (C[i] <= A[i])
cnt++;
if (cnt == n) break; for (int i = ; i < n; i++)
{
//C[i]表示处于周期的C[i]分钟,注意所处状态的变化
if (C[i] == A[i] + B[i] || (C[i] == A[i] && cnt >= n - cnt))
C[i] = ;
C[i]++;
}
}
if (t == INF) t = -;
printf("Case %d: %d\n", ++T, t);
}
return ;
}

特别困的学生 UVa12108(模拟题)的更多相关文章

  1. 算法习题---4-8特别困的学生(UVa12108)

    一:题目 课堂上有n个学生(n<=),每个学生上课都会出现一个“清醒-睡眠”周期,其中第i个学生学习Ai分钟后睡眠Bi分钟,依次重复.其中在从清醒到睡眠时有一个条件:只有到全班睡眠人数大于清醒人 ...

  2. UVa 12108 特别困的学生

    https://vjudge.net/problem/UVA-12108 题意:给出n个学生的“清醒—睡眠”周期和初始时间点,每个学生在睡眠时需要判断全班睡觉人数是否严格大于清醒人数,否则在坚持一个清 ...

  3. 全国信息学奥林匹克联赛 ( NOIP2014) 复赛 模拟题 Day1 长乐一中

    题目名称 正确答案  序列问题 长途旅行 英文名称 answer sequence travel 输入文件名 answer.in sequence.in travel.in 输出文件名 answer. ...

  4. HDU 2093 考试排名 模拟题

    解题报告: 题目描述:写一个程序给一个编程考试C++实时提交系统排名,给你的数据是题目的总数,每次错误提交罚的时间分,每位用户的姓名,然后是输入用户每题的完成情况,有一下几种情况,第一,输入只有一个正 ...

  5. 8.22 NOIP 模拟题

      8.22 NOIP 模拟题 编译命令 g++ -o * *.cpp gcc -o * *.c fpc *.pas 编译器版本 g++/gcc fpc 评测环境 位 Linux, .3GHZ CPU ...

  6. CSP复赛day2模拟题

    没错,我又爆零了.....先让我自闭一分钟.....so 当你忘记努力的时候,现实会用一记响亮的耳光告诉你东西南北在哪. 好了,现在重归正题: 全国信息学奥林匹克联赛(NOIP2014) 复赛模拟题 ...

  7. poj 1008:Maya Calendar(模拟题,玛雅日历转换)

    Maya Calendar Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 64795   Accepted: 19978 D ...

  8. poj 1888 Crossword Answers 模拟题

    Crossword Answers Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 869   Accepted: 405 D ...

  9. CodeForces - 427B (模拟题)

    Prison Transfer Time Limit: 1000MS   Memory Limit: 262144KB   64bit IO Format: %I64d & %I64u Sub ...

随机推荐

  1. E20190308-hm

    sweep vt. 扫除; 打扫,清理; 彻底搜索; 掠过; vi. 打扫; 扫过; 蜿蜒; 大范围伸展; n. 打扫; 延伸; 挥动; 全胜;

  2. lightoj 1125【背包·从n个选m个】

    题意: 给你 n 个背包,然后给你两个数,D,M,问你从n个里面挑M个出来,有多少种方法能够整除D: 思路: 试想我先不挑M个出来的话,仅仅是构造一个D的倍数,其实就是构造一个数的话, 其实就是个递推 ...

  3. LED与OLED的区别:

    LED与OLED的区别: led和oled的发光原理是一样的,只 不过区别是用的材料不一样led用的是金属材料,而oled用的是有机物材料. OLED不需要背光源,自己本身会发光,是采用发光二极管阵列 ...

  4. Ruby编程实践

    命令 常量大写 类名和模块名首字母大写,驼峰法,MyClass,Person 方法名小写,ruby中末尾添加符号特殊含义:destroyMethod!表示这个方法具有破坏性:isPrime?表示返回b ...

  5. js中 call() ,apply(),bing()方法三者的用法和区别

    面试中经常会被问到的,或者做笔试题的时候也会有这样的问题,所以今天专门对这个问题做个总结: 先看个例子: var age = '19' var myObj = { name:'小赖', myAge:t ...

  6. Java泛型学习摘抄

  7. 3.KPCR

    KPCR: CPU控制区(Processor Control Region) 当线程进入0环时, FS:[0]指向KPCR(3环时FS[0]-> TEB)每个CPU都有一个KPCR结构体(一个核 ...

  8. C#静态类、静态构造函数,类与结构体的比较

    一.静态类 静态类是不能实例化的,我们直接使用它的属性与方法,静态类最大的特点就是共享. 探究 public static class StaticTestClass{    public stati ...

  9. 解决windows下 Python中 matplotlib 做图中文不显示的问题

    在代码中填入以下两句即可 from pylab import mpl mpl.rcParams['font.sans-serif'] = [font_name] 如:mpl.rcParams['fon ...

  10. avalon使用体验

    最近在用avalon做项目,使用的感受是,它确实会比angualr学习成本更低,我不需要花很多时间去了解它的功能,没有指令.没有服务,花一个晚上看看API就差不多能着手用了.avalon的视图它提供了 ...