当前位置: 代码迷 >> 综合 >> 1024: 学霸猫
  详细解决方案

1024: 学霸猫

热度:27   发布时间:2023-11-23 12:59:58.0

1024: 学霸猫

题目描述

在这里插入图片描述

在我认识它的时候,它就已经叫学霸猫了,虽然我不知道它名字的由来,但在石大这种地方被冠以学霸之名。它经常会光顾正在上课的教室,并跟同学们一起耐心听讲,学校的教学楼、机房里到处都留下它的倩影,相信它将来会成为一个Doctor Cat。有心的同学记录下了它出现的课堂名称和出现时间。聪明的学霸猫是非常擅长学习的,即使在打盹的时候,也是在学习。它在某个课堂停留的时间越长,学习效果就越好。请你计算一下它哪门课学的最好吧(我不会告诉你它经常去听金老师的高等数学哟)。

输入

输入有多行。

每行包含三个数据,分别表示课堂名称(长度不超过30个字符),学霸猫的出现时间和离开时间,这两个时间都是指同一天。课堂名称保证不重复。

输出

输出学霸猫学习效果最好的一门课的名称和时长(具体格式见样例输出),占一行,两个数据间以空格分隔,末尾没有空格。

样例输入 Copy

programming 14:00 15:30
math 8:00 8:10

样例输出 Copy

programming 1:30
#include<iostream>
#include<algorithm>
using namespace std;
char name[35];
string st;
int a,b,c,d,e,f,sum;
int main()
{
    while(scanf("%s %d:%d %d:%d",name,&a,&b,&c,&d)!=EOF){
    if(d-b<0){
    c--;if(sum<(c-a)*60+60+d-b){
    f=60+d-b;e=c-a;sum=f+e*60;st=name;}}else{
    if(sum<(c-a)*60+d-b){
    f=d-b;e=c-a;sum=f+e*60;st=name;}} }cout<<st<<" "<<e<<":"<<f;return 0;
}
  相关解决方案