您的位置:首页 > 其它

CF Om Nom and Candies

2015-05-17 21:12 387 查看
分析:输入总重量c,红糖幸福值hr,蓝糖幸福值hb,红糖重wr,蓝糖重wb.输出最大的幸福值。直接暴力就可以了。为了防止时间超限,限制它的循环次数。

# include <stdio.h>
  int main()
  {
	  __int64 c,hr,hb,wr,wb,r,b,i,j,max=0,time=10000000;
	  scanf("%I64d%I64d%I64d%I64d%I64d",&c,&hr,&hb,&wr,&wb);
	  r=c/wr;//最多取r个red candy
	  b=c/wb;//最多取b个blue candy
	  for(i=0;i<=r&&i<=time;i++)
	  {
		  j=(c-i*wr)/wb;//取i个红糖最多取j个蓝糖
		  if(i*hr+j*hb>max)
			  max=i*hr+j*hb;
	  }
	  for(j=0;j<=b&&j<=time;j++)
	  {
		  i=(c-j*wb)/wr;//取j个蓝糖最多取i个红糖
		  if(i*hr+j*hb>max)
			  max=i*hr+j*hb;
	  }
	  printf("%I64d\n",max);
	  return 0;
  }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: