115
#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<iostream>
using namespace std;
struct node //定义结构体
{
char name[100];
int time;
int rank;
} player[12];
int cmp(const node &a,const node &b) //构造结构体排序的函数
{
if(a.time==b.time)
{
return strcmp(a.name,b.name)<0 ? 1 : 0;
}
else return a.time<b.time;
}
int main()
{
int n,i,min,sec;
int ji=0;
while( scanf("%d",&n)&&n!=0 )
{
ji++;
if(ji!=1)printf("\n");
printf("Case #%d\n",ji);
for(i=0; i<n; i++)
{
scanf("%s %d:%d",player[i].name,&min,&sec);
player[i].time=min*60+sec;
}
sort(player,player+n,cmp);
int ji;
player[0].rank=1;
for(i=1; i<n; i++) //确定排名 (按时间和名字的字典序排序)
{
if(player[i].time==player[i-1].time)player[i].rank=player[i-1].rank;
else player[i].rank=i+1;
}
for(i=0; i<n; i++)
{
printf("%s %d\n",player[i].name,player[i].rank);
}
}
}
hdu2115
最新推荐文章于 2017-04-08 19:31:26 发布