zoukankan      html  css  js  c++  java
  • sicily 6768. Log Books

    模拟赛第二题,难度应该是倒数第三……

    看样例输入很晕,其实看懂了还是挺简单的,因为没有跨0点的驾驶记录

    要设计能PASS的测试用例的话会很痛苦……=。=

    Description
    Learner drivers need to complete 50 hours of supervised driving with at least 10 hours, or more, of night driving included in the total amount. Each learner must keep a log book of their supervised driving experience with each entry containing the starting and finishing time for each driving experience.
    Poirot-the-inspector has been given the duty of checking the log books and verifying that the driving times add up to the required values and that no single driving experience exceeds 2 hours. If more than, or equal to, half the length of one driving experience occurs during the night (before sunrise or after sunset), then the whole time counts towards night driving. For example, driving from 04:50 to 06:10 on a day when sunrise is at 05:30 counts as night driving.
    However, Poirot has never been good with numbers and he is requesting assistance with this duty. Your task is to write a program that reads a learner's log book and checks that the required driving times have been completed without violating the 2 hour length rule.

    Input
    The input consists of a number of test cases. The description for each test case starts with an integer N, on a line by itself, that represents the number of entries in one log book. 25 <= N <= 300. Each of the following N lines contains a record of one driving experience with four times representing sunrise, sunset, and the starting and finishing time in that order. The starting time is strictly smaller than the finishing time. A single space separates the times and each time has a value between 00:00 (midnight) and 23:59 (one minute to midnight), inclusive. A line with a zero by itself terminates the input and is not to be processed.

    Output
    The output for each log book consists of the string PASS if the required driving times have been completed without violating the 2 hour length rule. Otherwise, print the string NON.

    View Code
     1 #include<stdio.h>
     2 int main()
     3 {
     4     int risehh, risemm;
     5     int sethh, setmm;
     6     int starthh, startmm;
     7     int endhh, endmm;
     8     int length, start, end,rise, set;
     9     int night = 0, total = 0;
    10     int n;
    11     int ok;
    12     
    13     while ( scanf("%d", &n) && n != 0 )
    14     {
    15         ok = 1;
    16         total = 0;
    17         night = 0;
    18         
    19         while ( n-- )
    20         {
    21             scanf("%d:%d", &risehh, &risemm);
    22             scanf("%d:%d", &sethh, &setmm);
    23             scanf("%d:%d", &starthh, &startmm);
    24             scanf("%d:%d", &endhh, &endmm);
    25             
    26             length = (endhh - starthh)*60 + (endmm - startmm);
    27             
    28             start = starthh*60 + startmm;
    29             end = endhh*60 + endmm;
    30             rise = risehh*60 + risemm;
    31             set = sethh*60 + setmm;
    32             
    33             if(length >= 120)
    34             {
    35                 ok = 0;
    36             }
    37             
    38             if( start + length/2 <= rise || end - length/2 >= set )
    39             {
    40                 night += length;
    41             }
    42         
    43             total += length;
    44         }
    45         
    46         if ( night < 600 )
    47             ok = 0;
    48         if( total < 3000)
    49             ok = 0;
    50             
    51         if ( ok )
    52             printf("PASS\n");
    53         else
    54             printf("NON\n");
    55     }
    56     
    57     return 0;
    58 }
  • 相关阅读:
    javascript keycode大全
    在WEB环境下打印报表的crystal的解决方案
    Trim()
    C#应用结构体变量
    锚点定位
    C# 按地址传值
    [GIIS]JS 图片 Preview
    c# 模拟网站登陆
    此数据库没有有效所有者,因此无法安装数据库关系图支持对象" 解决方法
    风讯.NET与NETCMS的选择—开源.NET内容管理系统
  • 原文地址:https://www.cnblogs.com/joyeecheung/p/2813744.html
Copyright © 2011-2022 走看看