美文网首页
贪心算法——1. FatMouse's Trade

贪心算法——1. FatMouse's Trade

作者: 辘轳鹿鹿 | 来源:发表于2020-06-25 15:12 被阅读0次
image.png

解题心得:

  • 记得初始化
#include<stdio.h>
#include<stdlib.h>
struct store{
    int jgood;
    int food;
    float value;
}stores[1001];
int main(){
    int m,n;
    while(scanf("%d %d",&m,&n)){
        if(m==-1&&n==-1){
            break;
        }
        int i,j;
        float sum=0;
        struct store tmp;
        for(i=0;i<n;i++){
            scanf("%d %d",&stores[i].jgood,&stores[i].food);
            stores[i].value=stores[i].jgood*1.0/stores[i].food;
        }
        for(i=0;i<n-1;i++){
            for(j=0;j<n-i-1;j++){
                if(stores[j].value<stores[j+1].value){
                    tmp=stores[j];
                    stores[j]=stores[j+1];
                    stores[j+1]=tmp;
                }
            }
        }
        for(i=0;i<n;i++){
            if(m-stores[i].food<0)
                break;
            m-=stores[i].food;
            sum+=stores[i].jgood;
        }
        if(m>0){
            sum=sum+stores[i].jgood*m*1.0/stores[i].food;
        }
        printf("%.3f\n",sum);
    }
}
/*
5 3
7 2
4 3
5 2
20 3
25 18
24 15
15 10
-1 -1
*/

相关文章

网友评论

      本文标题:贪心算法——1. FatMouse's Trade

      本文链接:https://www.haomeiwen.com/subject/qktsfktx.html