#include<stdio.h> struct apple{ int m; int v; }app[1010]; int money(int i,int v); int main(){ int n,v; int x,y,z; while((scanf("%d%d",&n,&v))&&(n||v)){ for(x=0;x<n;x++){ scanf("%d %d",&app[x].v,&app[x].m); } printf("%d ",money(n-1,v)); } return 0; } int money(int i,int v){ if((i<0)||(v<0))return 0; int a=money(i-1,v); int b=money(i-1,v-app[i].v)+app[i].m; return (a>b)?a:b; }
版权声明:本文为博主原创文章,未经博主允许不得转载。