PHP   发布时间:2022-04-09  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了PHP实现的回溯算法示例大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

本文实例讲述了PHP实现的回溯算法。分享给大家供大家参,具体如下:

问题:

一头大牛驼2袋大米,一头中牛驼一袋大米,两头小牛驼一袋大米,请问100袋大米需要多少头大牛,多少头中牛,多少头小牛?

实现代码

php;">
<>PHP
/*
 * k = 2x + y + 1/2z
 取值范围
 * 0 <= x=""><= 1/2k="" *="" 0=""><= y=""><= k="" *="" 0=""><= z="">< =="" 2k="" *="" x,y,z最大值="" 2k="" */="" $dami="100;" $result="array();" function="" isok($t,$dami,$result)="" {/*{{{*/="" $total="0;" $hash="array();" $hash[1]="2;" $hash[2]="1;" $hash[3]="0.5;" for($i=""><=$t;$i++) {="" $total="" +="$result[$i]" *="" $hash[$i];="" }="" if(="" $total=""><= $dami)="" {="" return="" true;="" }="" return="" false;="" }/*}}}*/="" function="" backtrack($t,$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,$result))="" {="" backtrack($t+1,$result);="" }="" $result[$t]="0;" }="" }/*}}}*/="" backtrack(1,$result);="">

大佬总结

以上是大佬教程为你收集整理的PHP实现的回溯算法示例全部内容,希望文章能够帮你解决PHP实现的回溯算法示例所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:回溯算法