首页 > 代码库 > SWUSTOJ福布斯富豪榜(0273)
SWUSTOJ福布斯富豪榜(0273)
福布斯富豪榜(0273)
1917年创立的福布斯杂志,在编制各种排行榜方面有86年历史,1982年首次推出富豪榜在全球产生空前影响,现在,一年一度的福布斯全球亿万富翁榜在全世界受到密切关注。福布斯每年编制一百多个有关人物、公司和生活时尚排行榜,在全球范围内,福布斯富豪榜的江湖地位毋庸置疑。他云集了世界各地的富豪们。
Description
有多组测试数据,少于10。 每组数据两个数N (0 < N < = 10^6)和K ( 0< K <= 10 ,K < N ),表示有N位候选人,要从中选出排名前K的富豪,然后是N位候选人的名字和财产(亿元)。 (名字是由不超过60个字母组成的字符串 ,任意两个人的财产都不一样)
Input
输出排名前K的富豪的名字和财产,按财产从大到小排序(每组数据后面输出一个空行)。
Sample Input
5 3
fdsa 100.5
aaaa 132
jkoret 421.1
koerwrew 543
jirjge 432.4
4 2
Fda 441.6
Fdsja 123
afds 345.11
Haffe 894
Sample Output
koerwrew 543
jirjge 432.4
jkoret 421.1
Haffe 894
Fda 441.6
AC源代码:
#include<stdio.h>struct a{ char name[100]; float wealth;}First[15],temp,po,rich;int n,k;int main(){ int c=0; while(scanf("%d%d",&n,&k)!=EOF){ if(c) printf("\n"); int i,j; for(i=0;i<15;i++) First[i].wealth=-1; for(i=0;i<n;i++){ scanf("%s%f",&rich.name,&rich.wealth); temp=rich; for(j=0;j<k;j++)//记录前k的人 if(temp.wealth>First[j].wealth){ po=temp; temp=First[j]; First[j]=po; } } for(i=0;i<k;i++){ printf("%s %g\n",First[i].name,First[i].wealth); //if(i==k-1) // printf("\n"); } c++; } return 0;}
SWUSTOJ福布斯富豪榜(0273)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。