问题:
一头大牛驼2袋大米,一头中牛驼一袋大米,两头小牛驼一袋大米,请问100袋大米需要多少头大牛,多少头中牛,多少头小牛?
实现代码:
<?php
/*
* k = 2x + y + 1/2z
取值范围
* 0 <= x <= 1/2k
* 0 <= y <= k
* 0 <= z < = 2k
* x,y,z最大值 2k
*/
$daMi= 100;
$result=array();
functionisOk($t,$daMi,$result)
{/*{{{*/
$total= 0;
$hash=array();
$hash[1] = 2;
$hash[2] = 1;
$hash[3] = 0.5;
for($i=1;$i<=$t;$i++)
{
$total+=$result[$i] *$hash[$i];
}
if($total<=$daMi)
{
returntrue;
}
returnfalse;
}/*}}}*/
functionbacktrack($t,$daMi,$result)
{/*{{{*/
//递归出口
if($t> 3)
{
//输出最优解
if($daMi== (2 *$result[1] +$result[2] + 0.5 *$result[3]))
{
echo"最优解,大米:${daMi},大牛:$result[1],中牛: $result[2],小牛:$result[3]n";
}
return;
}
for($i= 0;$i<= 2 *$daMi;$i++)
{
$result[$t] =$i;
//剪枝
if(isOk($t,$daMi,$result))
{
backtrack($t+1,$daMi,$result);
}
$result[$t] = 0;
}
}/*}}}*/
backtrack(1,$daMi,$result);
?>
运行结果如下图:
catomy/ppt_analysis_opt_skill README 风格项目教程
鹅鸭杀嘉年华狼任务怎么做 鹅鸭杀嘉年华模式狼介绍
HillClimbRacing下载量突破20亿-官方简讯发布
阿里云百炼Token Plan和Coding Plan省钱订阅计划:如何选择?有哪些区别?
最新:阿里云万小智收费价格:活动15元1个月:180元1年:轻量版、标准版及高级版功能支持
移动端的AI助手不应只是客服窗口:更应借助AI能力将小程序服务变成可调用能力