题目链接
题意:借还时间的计算,主要是排序。
解题思路
这道题有问题,只要有E就记录,且借船时间按照上一次借的时间算,测试点有点傻逼!
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,h,m;
char c;
int hsh[105];
int cnt=0;
double ans=0;
memset(hsh,-1,sizeof(hsh));
while(cin>>n){
if(n==-1) break;
scanf(" %c %d:%d",&c,&h,&m);
if(n==0){
if(cnt==0) printf("0 0\n");
else printf("%d %d\n",cnt,int(ans*1.0/cnt+0.5));
memset(hsh,-1,sizeof(hsh));
cnt=0;
ans=0;
}
else if(c=='S'){
hsh[n]=h*60+m;
}else if(c=='E' && hsh[n]!=-1){
ans += h*60+m - hsh[n];
cnt++;
}
}
return 0;
}