四人过桥算法.doc_第1页
第1页 / 共2页
四人过桥算法.doc_第2页
第2页 / 共2页
本文档共2页,全文阅读请下载到手机保存,查看更方便
资源描述
<html> <script type="text/javascript"> <!-- // 一座桥,同时只能两个人过桥,他们共用一个手电筒。现有四个人, //每个人的过桥时间都不一样,分别为:10、5、2、1。怎样让他们用最短的时间过去。 var passer = function(name,time){ this.name = name; this.time = time; } var passBridge=function(tempArr){ this.backarray = []; //未过桥数组 this.passarray = []; //过桥数组 this.backarray = tempArr; this.amounttime = 0; //总时长 this.passcount = 1; //过桥次数 this.pass(); } passBridge.prototype.pass = function(){ this.backarray.sort(function(a,b){ if(a.time > b.time) return 1; if(a.time == b.time) return 0; if(a.time < b.time) return -1; }); if(this.passcount % 2 != 0){ //单次数过桥,由未过桥数组中最小的两个人过桥 alert(this.backarray[0].name + " 和 " + this.backarray[1].name + "正在过桥,时间为:" + this.backarray[1].time); this.passarray.push(this.backarray[0]); this.passarray.push(this.backarray[1]); this.amounttime += this.backarray[1].time; this.backarray.splice(0,2); }else{ //双次数过桥,由未过桥数组中最大的两个人过桥 alert(this.backarray[this.backarray.length-1].name + " 和 " + this.backarray[this.backarray.length-2].name + "正在过桥,时间为:" + this.backarray[this.backarray.length-1].time); this.passarray.push(this.backarray[this.backarray.length-1]); this.passarray.push(this.backarray[this.backarray.length-2]); this.amounttime += this.backarray[this.backarray.length-1].time; this.backarray.splice(this.backarray.length-2,2); } this.passcount++; if(this.backarray.length == 0){ alert("成功过桥,总时长为:" + this.amounttime); }else{ this.back(); } } passBridge.prototype.back = function(){ this.passarray.sort(function(a,b){ if(a.time > b.time) return 1; if(a.time == b.time) return 0; if(a.time < b.time) return -1; }); alert(this.passarray[0].name + "正在返回,时间为:" + this.passarray[0].time); this.amounttime += this.passarray[0].time; this.backarray.push(this.passarray[0]); this.passarray.splice(0,1); this.pass(); } if(!Array.prototype.indexOf){ Array.prototype.indexOf=function(el, index){ var n = this.length>>>0, i = ~~index; if(i < 0) i += n; for(; i < n; i++) if(i in this && this[i] === el) return i; return -1; } } var temp = new passBridge([new passer('a',1),new passer('b',2),new passer('c',5),new passer('d',10)]); //--> </script> </html>
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手
  • 平行线判定.doc平行线判定.doc
  • Dluqgo托福词汇.docDluqgo托福词汇.doc
  • 现代农业发展之路.doc现代农业发展之路.doc
  • 人教版七年级历史上册月考试题及答案.doc人教版七年级历史上册月考试题及答案.doc
  • 放弃与坚持.docx放弃与坚持.docx
  • 初中英语九年级.pptx初中英语九年级.pptx
  • 初三英语语法专项讲解练习.doc初三英语语法专项讲解练习.doc
  • 探析课文-疏通文意.doc探析课文-疏通文意.doc
  • 人教版小学美术二年级上册《梦幻中的城堡》教案.doc人教版小学美术二年级上册《梦幻中的城堡》教案.doc
  • 青岛东软载波集中器与载波通信模块下行通信协议说明.doc青岛东软载波集中器与载波通信模块下行通信协议说明.doc

  • 当前位置:首页 > 教育专区 > 小学其他

    移动网页_全站_页脚广告1

    关于我们      便捷服务       自信AI       AI导航        抽奖活动

    ©2010-2025 宁波自信网络信息技术有限公司  版权所有

    客服电话:4009-655-100  投诉/维权电话:18658249818

    gongan.png浙公网安备33021202000488号   

    icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

    关注我们 :微信公众号    抖音    微博    LOFTER 

    客服