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 }
  • 相关阅读:
    利用Sentinel实现Redis主从切换
    Docker应用一:docker介绍
    利用RAP搭建可视化接口管理平台
    Lucene初步搜索
    Lucene索引的初步创建
    kettle不能正常自动获取字段
    配置hive元数据库mysql时候出现 Unable to find the JDBC database jar on host : master
    Lost connection to MySQL server at ‘reading initial communication packet', system error: 0 mysql远程连接问题
    Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)解决方法
    Sqoop import加载HBase案例详解
  • 原文地址:https://www.cnblogs.com/joyeecheung/p/2813744.html
Copyright © 2011-2022 走看看