背包问题

void GetResult(int*p,int& Get_Result)

    // 在这里实现功能
 int i,j,P,pt,m,v;  
P = *(p+0+0);
m=*(p+0+1);
memset(DP,0,sizeof(DP));
 for(i=0;i<m;i++)       
     {          
      v = *(p+(i+1)*2+0);
pt=*(p+(i+1)*2+1);        
     for(j=P;j>=v;j--)          
      {               
   DP[j]=MAX(DP[j-v]+v*pt,
         DP[j]);          
        }        
 } 
 Get_Result=DP[P];
}

posted @ 2014-04-19 16:58  Blue-Dream  阅读(85)  评论(0编辑  收藏  举报