• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PHP实现的蚂蚁爬杆路径算法代码_php技巧

php 搞代码 4年前 (2022-01-26) 26次浏览 已收录 0个评论

本文实例讲述了PHP实现的蚂蚁爬杆路径算法代码。分享给大家供大家参考,具体如下:

 $i) { // 超出计算范围  return $directionArr; } if(0 == $directionArr[$i]) { // 当前位加1  $directionArr[$i] = 1;  return $directionArr; } $directionArr[$i] = 0; return add2($directionArr, $count, $i - 1); // 进位}$positionArr = array( // 所在位置 3, 7, 11, 17, 23);function path($positionArr) { // 生成测试路径 $pathCalculate = array(); $count = count($positionArr); $directionArr = array_fill(0, $count, 0); // 朝向 $end = str_repeat('1', $count); while (true) {  $path = implode('', $directionArr);  $pathArray = array_combine($positionArr, $directionArr);  $total = calculate($positionArr, $directionArr);  $pathCalculate['P'.$path] = $total;  if($end == $path) { // 遍历<i>*本5文来源gaodai$ma#com搞$$代**码)网@</i><img>搞代码gaodaima</img>完成   break;  }  $directionArr = add2($directionArr, $count, $count - 1); } return $pathCalculate;}function calculate($positionArr, $directionArr) { $total = 0; // 总用时 $length = 27; // 木杆长度 while ($positionArr) {  $total++; // 步增耗时  $nextArr = array(); // 下一步位置  foreach ($positionArr as $key => $value) {   if(0 == $directionArr[$key]) {    $next = $value - 1; // 向0方向走一步   } else {    $next = $value + 1; // 向1方向走一步   }   if(0 == $next) { // 在0方向走出    continue;   }   if($length == $next) { // 在1方向走出    continue;   }   $nextArr[$key] = $next;  }  $positionArr = $nextArr; // 将$positionArr置为临时被查找数组  foreach ($nextArr as $key => $value) {   $findArr = array_keys($positionArr, $value);   if(count($findArr) < 2) { // 没有重合的位置    continue ;   }    foreach ($findArr as $findIndex) {    $directionArr[$findIndex] = $directionArr[$findIndex] ? 0 : 1; // 反向处理    unset($positionArr[$findIndex]); // 防止重复查找计算   }  }  $positionArr = $nextArr; // 将$positionArr置为下一步结果数组 } return $total;}$pathCalculate = path($positionArr);echo '<pre class="prettyprint linenums">calculate-';print_r($pathCalculate);echo 'sort-';asort($pathCalculate);print_r($pathCalculate);

希望本文所述对大家PHP程序设计有所帮助。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP实现的蚂蚁爬杆路径算法代码_php技巧
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址