View Code of Problem 100

#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.


Back to problem 100