hdu 3177贪心

来源:互联网 发布:javascript函数传值 编辑:程序博客网 时间:2024/06/03 09:34
#include<stdio.h>/*只能按这种形式排序单纯一种形式是不对的,按ai排序20 21 110 20按bi排序20 25 171 16 都是不对的二a.u+b.v得出的是先算a的需要的空间,a.v+b.u算出的是先算b所需要的空间*/#include<stdlib.h>#define N 1100typedef struct node {int u,v;}F;F f[N];int cmp(const void *a,const void *b) {    if((*(F *)a).u+(*(F *)b).v!=(*(F *)a).v+(*(F *)b).u)        return  (*(F *)a).u+(*(F *)b).v>(*(F *)a).v+(*(F *)b).u?1:-1;        return 0;}int main() {   int n,m,i,t;   scanf("%d",&t);   while(t--) {    scanf("%d%d",&n,&m);    for(i=0;i<m;i++)        scanf("%d%d",&f[i].u,&f[i].v);    qsort(f,m,sizeof(f[0]),cmp);    for(i=0;i<m;i++) {        if(n>=f[i].v)            n-=f[i].u;        else            break;    }    if(i==m)        printf("Yes\n");    else        printf("No\n");   }return 0;}

0 0
原创粉丝点击