NYOJ 106(背包)

简介: //此为背包问题 ,289为0-1背包 #include #include typedef struct data { int w; int v; }data; int cmp(const void *a,const void *b) { ...
 //此为背包问题 ,289为0-1背包 
#include<stdio.h>
#include<stdlib.h> 
typedef struct data 
{
   int w;
   int v;    
}data; 
int cmp(const void *a,const void *b)
{
   return ((data*)a)->v-((data*)b)->v; 
}//不加括号不行啊 
int main()
{ 
    data a[10];
    int T,v,w,sum,s,m;
    scanf("%d",&T);
    while(T--)
    {
     sum=0;
     scanf("%d%d",&s,&m);
     for(int i=0;i<s;i++)
	     scanf("%d%d",&a[i].v,&a[i].w);	
	 qsort(a,s,sizeof(data),cmp);
	 for(int i=s-1;m>0;i--)
	 //发现i也要加上int,否则\调试\未命名1.cpp name  lookup of `i' changed for new ISO `for' scoping  
    	 if(a[i].w<=m)
         {
            sum+=a[i].v*a[i].w;
            m-=a[i].w;
         }
    	 else 
         {
              sum+=m*a[i].v;
               m=0;
         }
	 printf("%d\n",sum);	    
    }  
    system("pause");
    return 0;  		
} 




        

  

目录
相关文章
|
5月前
多重背包和分组背包
多重背包和分组背包
|
5月前
01背包和完全背包
01背包和完全背包
背包问题——01背包|完全背包 2
背包问题——01背包|完全背包
183 0
|
算法 决策智能
背包问题——01背包|完全背包 1
背包问题——01背包|完全背包
305 0
|
测试技术 容器
动态规划之背包问题——背包三讲(01背包,完全背包,多重背包)(三)
动态规划之背包问题——背包三讲(01背包,完全背包,多重背包)(三)
205 0
动态规划之背包问题——背包三讲(01背包,完全背包,多重背包)(三)
|
测试技术
动态规划之背包问题——背包三讲(01背包,完全背包,多重背包)(二)
动态规划之背包问题——背包三讲(01背包,完全背包,多重背包)(二)
282 0
动态规划之背包问题——背包三讲(01背包,完全背包,多重背包)(二)
|
JavaScript 测试技术 vr&ar
动态规划之背包问题——背包三讲(01背包,完全背包,多重背包)(一)
动态规划之背包问题——背包三讲(01背包,完全背包,多重背包)(一)
141 0
动态规划之背包问题——背包三讲(01背包,完全背包,多重背包)(一)
HDU-Robberies(01背包)
HDU-Robberies(01背包)
55 0