题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1861
代码:
#include <iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std;
struct node
{
int s,e;
}p[105];
int main()
{
int num,hour,minute;
char c;
while(scanf("%d",&num) && num!=-1)
{
int k=0;
double time=0;
scanf(" %c %d:%d",&c,&hour,&minute);
memset(p,-1,sizeof(p));
if(num!=0)
{
if(c=='S')
{
p[num].s=hour*60+minute;
}
else
{
p[num].e=hour*60+minute;
}
while(scanf("%d %c %d:%d",&num,&c,&hour,&minute) && num!=0)
{
if(c=='S')
{
p[num].s=hour*60+minute;
}
else
{
p[num].e=hour*60+minute;
}
for(int i=1;i<101;i++)
if(p[i].s!=-1 && p[i].e!=-1)
{
k++;
time=time+p[i].e-p[i].s;
p[i].s=p[i].e=-1;
}
}
}
if(k!=0)
time=time/k;
printf("%d %.0lf\n",k,time);
}
return 0;
}