您的位置:首页 > 其它

水题堆4.I - 悼念512汶川大地震遇难同胞——老人是真饿了

2018-02-17 21:26 435 查看
#include <stdio.h>
#include <stdlib.h>
struct rice
{
int p,h;
}r[1010];
void swap(struct rice *a,struct rice *b)
{
struct rice t;
t=*a;
*a=*b;
*b=t;
}
void quicksort(struct rice *s,int m,int left,int right)
{
int i,j;
if(left<right){
i=left+1;
j=right;
while(i<j){
if(s[i].p>s[left].p){
swap(&s[i],&s[j]);
j--;
}else
{
i++;
}
}
if(s[i].p>=s[left].p){
i--;
}
swap(&s[left],&s[i]);
quicksort(s,m,left,i);
quicksort(s,m,j,right);
}
}
int main()
{
int c,m,i;
double n;
scanf("%d",&c);
while(c--){
scanf("%lf%d",&n,&m);
for(i=0;i<=m-1;i++)scanf("%d%d",&r[i].p,&r[i].h);
quicksort(r,m,0,m-1);
double ans=0;
for(i=0;i<=m-1;i++){
if(r[i].h*r[i].p<=n){
ans+=r[i].h;
n=n-r[i].h*r[i].p;
}else
{
ans+=n/r[i].p;
break;
}
}
printf("%.2lf\n",ans);
}
return 0;
}
将所有大米按单价从低到高排序
尽可能多选单价低的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐