2011-12-15 14:45:28

地址:http://acm.hdu.edu.cn/showproblem.php?pid=2115

题意:nba技巧赛,输入人名,分钟,秒钟。按时间少到多排序,并输出rank。

mark:PE一次,每组case之间空一行。

代码:

# include <stdio.h>
# include <stdlib.h>
# include <string.h>


typedef struct NODE{
char name[50] ;
int mm, ss ;
}NODE ;


NODE node[20] ;


int cmp(const void *a, const void *b)
{
NODE *p = (NODE*)a, *q = (NODE*)b ;
int t1 = p->mm * 60 + p->ss ;
int t2 = q->mm * 60 + q->ss ;
if (t1 != t2) return t1- t2 ;
return strcmp (p->name, q->name) ;
}


int main ()
{
int n, rank, i, nCase = 1 ;
while (~scanf ("%d", &n))
{
if (n == 0) break ;
for (i = 0 ; i < n ; i++)
scanf ("%s %d:%d%*c", node[i].name, &(node[i].mm), &(node[i].ss)) ;
qsort (node, n, sizeof(NODE), cmp) ;
if (nCase != 1) printf ("\n") ;
printf ("Case #%d\n", nCase++) ;
for (i = 0 ; i < n ; i++)
{
if (i == 0) rank = 1 ;
else if (node[i].mm * 60 + node[i].ss ==
node[i-1].mm * 60 + node[i-1].ss)
rank = rank ;
else rank = i+1 ;
printf ("%s %d\n", node[i].name, rank) ;
}
}
return 0 ;
}



优质内容筛选与推荐>>
1、mybatis记录随便(七)保存数据获取自增主键的值
2、获取指定的系统路径 SHGetSpecialFolderPath
3、Android 4.2 解析:SELinux,VPN锁定,增值短信确认
4、用ArrayList(解决约瑟夫问题)
5、MyBatis Generator generatorConfig.xml配置详解(转)


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号