切换到宽版
  • 27748阅读
  • 50回复

关于采药问题 [复制链接]

上一主题 下一主题
离线雨中浪子
只看该作者 20 发表于: 2006-11-27
#include "stdlib.h"
#include "stdio.h"
#include "conio.h"
#include "math.h"

main()
{int t,m,a[100],c[100],max=0,i,b[100]={0},k=1,j,w,n;
scanf("%d,%d",&t,&m);
for(i=1;i<=m;i++)
scanf("%d,%d",&a[i],&c[i]);
for(i=1;i<=m;i++)
k=k*2;
for(i=1;i<=k-1;i++)
{w=0;n=0;
  k=i;
  for(j=1;j<=m;j++)
  {b[j]=k%2;
  k=k/2;
  }
  for(j=1;j<=m;j++)
  {w=w+a[j]*b[j];
  n=n+c[i];
  }
  if(n<=t&&w>max)
  max=w;
}
printf("%d",max);
getch();
}
离线雨中浪子
只看该作者 21 发表于: 2006-11-27
在DEV-CPP下运行
离线zhengyuan95
只看该作者 22 发表于: 2006-12-06
这个还比较简单,可以先用价值除以时间,然后看哪个数大,就采这棵药,从大到小,依次采过来!
离线地震
只看该作者 23 发表于: 2006-12-06
可以用贪心法!(至少FP里能用)
离线0000000000
只看该作者 24 发表于: 2006-12-09
DP!
要不要标程?(发短消息给我)
离线卡到死机
只看该作者 25 发表于: 2006-12-21
引用第24楼zhengyuan952006-12-06 14:51发表的:
这个还比较简单,可以先用价值除以时间,然后看哪个数大,就采这棵药,从大到小,依次采过来!

不对啊。如果是
10 4
5 15
3 8
2 4
1 3
就有问题了。
离线wing
只看该作者 26 发表于: 2006-12-23
恩,这一点常识都没有
离线thc
只看该作者 27 发表于: 2007-02-13
启发式贪心~~~~~~~
离线fdhyctctc
只看该作者 28 发表于: 2007-02-20
居然有人说贪心....
汗....贪心就10分.标准算法为DP
离线wlfish
只看该作者 29 发表于: 2007-02-21
DP 动态规划 建议把DP,树图的基本算法都学完后再做NOIP PJ的题。
快速回复
限100 字节
 
上一个 下一个