#include<string.h> #include<stdio.h> typedef struct { char a[50]; double t; int k; }music; int main() { char c[50],d[6]; int i,j,m,n,l,k,x,y; double t,f; music e[1000],b[1000]; while(1) { scanf("%d",&m); if(m==0) break; for(i=0;i<m;i++) { scanf("%s",e[i].a); scanf("%d:%d",&x,&y); e[i].t=x*60+y; e[i].k=0; } scanf("%d",&n); for(i=0;i<n;i++) { scanf("%s",c); scanf("%d:%d",&x,&y); t=x*60+y; for(j=0;j<m;j++) { if(strcmp(c,e[j].a)==0) { f=t/e[j].t; if(f<0.2) e[j].k+=0; else if(f<0.4) e[j].k+=1; else if(f<0.6) e[j].k+=2; else if(f<0.8) e[j].k+=3; else if(f<1.0) e[j].k+=4; else e[j].k+=5; break; } } } for(i=0;i<m;i++) { l=0; for(j=0;j<m;j++) { if(e[i].k<e[j].k) l++; if(e[i].k==e[j].k&&(strcmp(e[i].a,e[j].a)==1)) l++; } strcpy(b[l].a,e[i].a); b[l].k=e[i].k; } for(i=0;i<m;i++) { printf("%s %d\n",b[i].a,b[i].k); } } return 0; } |
Double click to view unformatted code.