hdu acm steps 1.3.6

来源:互联网 发布:农村淘宝服务站 昆山 编辑:程序博客网 时间:2024/04/29 23:25

题目:http://acm.hdu.edu.cn/game/entry/problem/show.php?chapterid=1&sectionid=3&problemid=13

贪心+排序。

下面是AC代码:

#include<stdio.h>#include<stdlib.h>struct In{    int m;    int n;}s[110];int cmp(const void *a,const void *b){    return (*(struct In*)a).m>(*(struct In*)b).m?-1:1;}int main(void){    int i,j;    int w,v,sum;    while(scanf("%d",&w)!=EOF)    {        if(w==0)            break;        scanf("%d",&v);        for(i=0;i<v;i++)            scanf("%d %d",&s[i].m,&s[i].n);        qsort(s,v,sizeof(s[0]),cmp);        sum=0;        for(i=0;i<v&&w>0;i++){            if(w>=s[i].n){                sum+=s[i].n*s[i].m;                w=w-s[i].n;            }            else{                sum+=w*s[i].m;                w=0;             }        }        printf("%d\n",sum);    }    return 0;}


 

原创粉丝点击