• 阅览室


    天梯图书阅览室请你编写一个简单的图书借阅统计程序。当读者借书时,管理员输入书号并按下S键,程序开始计时;当读者还书时,管理员输入书号并按下E键,程序结束计时。书号为不超过1000的正整数。当管理员将0作为书号输入时,表示一天工作结束,你的程序应输出当天的读者借书次数和平均阅读时间。

    注意:由于线路偶尔会有故障,可能出现不完整的纪录,即只有S没有E,或者只有E没有S的纪录,系统应能自动忽略这种无效纪录。另外,题目保证书号是书的唯一标识,同一本书在任何时间区间内只可能被一位读者借阅。

    输入格式:

    输入在第一行给出一个正整数N(≤),随后给出N天的纪录。每天的纪录由若干次借阅操作组成,每次操作占一行,格式为:

    书号([1, 1000]内的整数) 键值SE) 发生时间hh:mm,其中hh是[0,23]内的整数,mm是[0, 59]内整数)

    每一天的纪录保证按时间递增的顺序给出。

    输出格式:

    对每天的纪录,在一行中输出当天的读者借书次数和平均阅读时间(以分钟为单位的精确到个位的整数时间)。

    输入样例:

    3
    1 S 08:10
    2 S 08:35
    1 E 10:00
    2 E 13:16
    0 S 17:00
    0 S 17:00
    3 E 08:10
    1 S 08:20
    2 S 09:00
    1 E 09:20
    0 E 17:00
    

    输出样例:

    2 196
    0 0
    1 60
     1 #include<cstdio>
     2 #include<algorithm>
     3 #include<cstring>
     4 #include<iostream>
     5 #include<cstdlib>
     6 
     7 using namespace std;
     8 int main()
     9 {
    10     int n;
    11     int str1[1005],str2[1005];//str1时间  str2是否借
    12     cin>>n;
    13     while(n--)
    14     {
    15         int hear,minute;
    16         char c;
    17         int a,sum=0,k=0;
    18         memset(str2,0,sizeof(sum));
    19         while(cin>>a)
    20         {
    21             cin>>c;
    22             scanf("%d:%d",&hear,&minute);
    23             if(a==0)
    24                 break;
    25             if(c=='S')
    26             {
    27                 str1[a]=hear*60+minute;
    28                 str2[a]=1;
    29             }
    30             else
    31             {
    32                 if(!str2[a])
    33                     continue;
    34                 else
    35                 {
    36                     sum+=hear*60+minute-str1[a];
    37                     str2[a]=0;
    38                     k++;
    39                 }
    40             }
    41         }
    42     if(k>0)
    43         printf("%d %d
    ",k,(int)    ( sum*1.0/k+0.5));//注意此处的误差处理
    44     else
    45         printf("0 0
    ");
    46     }
    47     return 0;
    48 }
    View Code

    唉,我一个大一的菜鸡就让我搞天梯赛,真是  自闭了。。。QAQ   

    花了一两个小时借鉴了大佬的代码终于搞定

    加油吧,周六就要比赛了!!!

  • 相关阅读:
    Call KernelIoControl in user space in WINCE6.0
    HOW TO:手工删除OCS在AD中的池和其他属性
    关于新版Windows Server 2003 Administration Tools Pack
    关于SQL2008更新一则
    微软发布3款SQL INJECTION攻击检测工具
    HyperV RTM!
    OCS 2007 聊天记录查看工具 OCSMessage
    CoreConfigurator 图形化的 Server Core 配置管理工具
    OC 2007 ADM 管理模板和Live Meeting 2007 ADM 管理模板发布
    Office Communications Server 2007 R2 即将发布
  • 原文地址:https://www.cnblogs.com/hbhdhd/p/10596539.html
Copyright © 2020-2023  润新知