首页 > 代码库 > hdu 1009 qsort运用
hdu 1009 qsort运用
#include <string>
#include <stdio.h>
#include <iostream>
#include <string.h>
#include <set>
#include <math.h>
#include <stdlib.h>
//using namespace std;
struct type
{
float javabean,food;
float leve;
}num[1010];
int cmp(const void *x, const void *y)
{
return (*(type *)x).leve > (* (type *) y).leve ? -1:1 ;
}
int main()
{
int m,n;
while( ~scanf("%d%d", &m, &n) && m != -1)
{
for(int i=0; i<n; i++)
{
scanf("%f%f", &num[i].javabean, &num[i].food);
num[i].leve = num[i].javabean /num[i].food;
}
qsort(num, n, sizeof(type), cmp);
float max=0;
for(int i=0; i<n; i++)
{
if(m < num[i].food )
{
max += m /num[i].food * num[i].javabean;
break;
}
else
{
max += num[i].javabean;
m -= num[i].food;
}
}
printf("%.3f\n", max);
}
return 0;
}
来自为知笔记(Wiz)
附件列表
hdu 1009 qsort运用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。