樱花视频在线观看-西西人体大胆4444ww张筱雨-久久网免费视频-国产99页-91高清视频在线-日日干夜夜干-91社区视频-中文高清av-久久成人国产-亚洲日韩欧洲乱码av夜夜摸-97人人射-亚洲视频观看-理论片亚洲-亚洲精品99999-免费能看的黄色片-精人妻无码一区二区三区-奇米影视播放器

游戲產(chǎn)業(yè)研究網(wǎng)

:有四個婦女A,B,C,D要過一個獨木橋,四個人過橋的時間分別是1、2、5、10分鐘。天黑了,過橋要用手電筒,她

function?HowToCrossBridge(a,?b,?c,?d)?{

????var?totalTime1?=?0;

????var?breakFlag?=?true;

????var?str1?=?;

????var?count?=?0;

????var?minTime?=?0;

????var?minStr?=?;

????//while?(breakFlag)?{

????//totalTime1?=?0;

????var?waitingCross?=?[a,?b,?c,?d];

????var?hadCrossed?=?new?Array();

????waitingCross?=?waitingCross.sort(function?(a,?b)?{?return?a?-?b?});//按順序從小到大排序

????//第一次過橋(過去2人,剩余2人)

????for?(var?i?=?0;?i?<?4;?i++)?{

????????for?(var?j?=?i?+?1;?j?<?4;?j++)?{

????????????//count?+=?1;

????????????totalTime1?=?0;

????????????var?hadCrossed1?=?hadCrossed.concat();

????????????var?waitingCross1?=?waitingCross.concat();

????????????var?firstGo1?=?waitingCross1[i];

????????????var?firstGo2?=?waitingCross1[j];

????????????totalTime1?=?totalTime1?+?firstGo2;

????????????str1?=?<p>第一次過橋由?+?firstGo1?+?和?+?firstGo2?+?過,共計<fond?style='color:red'>?+?firstGo2?+?</fond>分鐘,合計<fond?style='color:red'>?+?totalTime1?+?</fond>分鐘</p>;

????????????//移除等待過橋人員

????????????waitingCross1.remove(firstGo1);

????????????waitingCross1.remove(firstGo2);

????????????waitingCross1.sort(function?(a,?b)?{?return?a?-?b?});

????????????//添加已過橋人員

????????????hadCrossed1?=?[firstGo1,?firstGo2];

????????????hadCrossed1.sort(function?(a,?b)?{?return?a?-?b?});

????????????str1?+=?<p>第一次過橋后?hadCrossed=?+?hadCrossed1.join()?+??waitingCross=?+?waitingCross1.join()?+?</p>;

????????????//第二次返回(過去1人,剩余3人)

????????????for?(var?k?=?0;?k?<?2;?k++)?{

????????????????//count?+=?1;

????????????????var?hadCrossed2?=?hadCrossed1.concat();

????????????????var?waitingCross2?=?waitingCross1.concat();

????????????????var?str2?=?str1;

????????????????var?totalTime2?=?totalTime1;

????????????????var?secondBack?=?hadCrossed2[k];

????????????????totalTime2?=?totalTime2?+?secondBack;

????????????????str2?+=?<p>第二次返回由?+?secondBack?+?過,共計<fond?style='color:red'>?+?secondBack?+?</fond>分鐘,合計<fond?style='color:red'>?+?totalTime2?+?</fond>分鐘</p>;

????????????????//添加等待過橋人員

????????????????waitingCross2.push(secondBack);

????????????????waitingCross2.sort(function?(a,?b)?{?return?a?-?b?});

????????????????//移除已過橋人員

????????????????hadCrossed2.remove(secondBack);

????????????????hadCrossed2.sort(function?(a,?b)?{?return?a?-?b?});

????????????????str2?+=?<p>第二次返回后?hadCrossed=?+?hadCrossed2.join()?+??waitingCross=?+?waitingCross2.join()?+?</p>;

????????????????//第三次過橋(過去3人,剩余1人)

????????????????for?(var?m?=?0;?m?<?3;?m++)?{

????????????????????for?(var?n?=?m?+?1;?n?<?3;?n++)?{

????????????????????????//count?+=?1;

????????????????????????var?str3?=?str2;

????????????????????????var?hadCrossed3?=?hadCrossed2.concat();

????????????????????????var?waitingCross3?=?waitingCross2.concat();

????????????????????????var?totalTime3?=?totalTime2;

????????????????????????var?thirdGo1?=?waitingCross3[m];

????????????????????????var?thirdGo2?=?waitingCross3[n];

????????????????????????totalTime3?=?totalTime3?+?thirdGo2;

????????????????????????str3?+=?<p>第三次過橋由?+?thirdGo1?+?和?+?thirdGo2?+?過,共計<fond?style='color:red'>?+?thirdGo2?+?</fond>分鐘,合計<fond?style='color:red'>?+?totalTime3?+?</fond>分鐘</p>;

????????????????????????//移除

????????????????????????waitingCross3.remove(thirdGo1);

????????????????????????waitingCross3.remove(thirdGo2);

????????????????????????waitingCross3.sort(function?(a,?b)?{?return?a?-?b?});

????????????????????????hadCrossed3.push(thirdGo1);

????????????????????????hadCrossed3.push(thirdGo2);

????????????????????????hadCrossed3.sort(function?(a,?b)?{?return?a?-?b?});

????????????????????????str3?+=?<p>第三次過橋后?hadCrossed=?+?hadCrossed3.join()?+??waitingCross=?+?waitingCross3.join()?+?</p>;

????????????????????????//第四次返回(過去2人,剩余2人)

????????????????????????for?(var?l?=?0;?l?<?2;?l++)?{

????????????????????????????count?+=?1;

????????????????????????????var?hadCrossed4?=?hadCrossed3.concat();

????????????????????????????var?waitingCross4?=?waitingCross3.concat();

????????????????????????????var?str4?=?str3;

????????????????????????????var?totalTime4?=?totalTime3;

????????????????????????????var?fouthBack?=?hadCrossed4[l];

????????????????????????????totalTime4?=?totalTime4?+?fouthBack;

????????????????????????????str4?+=?<p>第四次返回由?+?fouthBack?+?過,共計<fond?style='color:red'>?+?fouthBack?+?</fond>分鐘,合計<fond?style='color:red'>?+?totalTime4?+?</fond>分鐘</p>;

????????????????????????????//添加

????????????????????????????waitingCross4.push(fouthBack);

????????????????????????????waitingCross4.sort(function?(a,?b)?{?return?a?-?b?});

????????????????????????????//移除

????????????????????????????hadCrossed4.remove(fouthBack);

????????????????????????????hadCrossed4.sort(function?(a,?b)?{?return?a?-?b?});

????????????????????????????str4?+=?<p>第四次返回后?hadCrossed=?+?hadCrossed4.join()?+??waitingCross=?+?waitingCross4.join()?+?</p>;

????????????????????????????//第五次過橋(全部通過)

????????????????????????????var?hadCrossed5?=?hadCrossed4.concat();

????????????????????????????var?waitingCross5?=?waitingCross4.concat();

????????????????????????????var?totalTime5?=?totalTime4;

????????????????????????????var?fifthGo1?=?waitingCross5[0];

????????????????????????????var?fifthGo2?=?waitingCross5[1];

????????????????????????????totalTime5?=?totalTime5?+?fifthGo2;

????????????????????????????str4?+=?<p>第五次過橋由?+?fifthGo1?+?和?+?fifthGo2?+?過,共計<fond?style='color:red'>?+?fifthGo2?+?</fond>分鐘,合計<fond?style='color:red'>?+?totalTime5?+?</fond>分鐘</p>;

????????????????????????????//添加

????????????????????????????waitingCross5.remove(fifthGo1);

????????????????????????????waitingCross5.remove(fifthGo2);

????????????????????????????waitingCross5.sort(function?(a,?b)?{?return?a?-?b?});

????????????????????????????//移除

????????????????????????????hadCrossed5.push(fifthGo1);

????????????????????????????hadCrossed5.push(fifthGo2);

????????????????????????????hadCrossed5.sort(function?(a,?b)?{?return?a?-?b?});

????????????????????????????str4?+=?<p>第五次過橋后?hadCrossed=?+?hadCrossed5.join()?+??waitingCross=?+?waitingCross5.join()?+?</p>;

????????????????????????????str4?+=?<p><fond?style='color:red'>本方案共計?+?totalTime5?+?分鐘</fond></p>;

????????????????????????????var?str5?=?方案?+?count?+?str4;

????????????????????????????str5?+=?<p>==================================================================</p>;

????????????????????????????$('#CrossBridge').append(str5);

????????????????????????????if?(minTime?>?0)?{

????????????????????????????????if?(totalTime5?<?minTime)?{

????????????????????????????????????minStr?=?str5;

????????????????????????????????}

????????????????????????????}

????????????????????????????else?{

????????????????????????????????minTime?=?totalTime5;

????????????????????????????????minStr?=?str5;

????????????????????????????}

????????????????????????}

????????????????????}

????????????????}

????????????}

????????}

????}

????//}

????$('#CrossBridge').append(<p>/********************************************最短時間方案為**************************************************************/</p>);

????$('#CrossBridge').append(minStr);

}HowToCrossBridge(1, 2, 5, 10);

青龙| 文水县| 金昌市| 乐平市| 和静县| 辉南县| 新宁县| 彰化县| 滦南县| 玉山县| 正宁县| 顺义区| 枣庄市| 安龙县| 盱眙县| 多伦县| 盐城市| 常熟市| 奉新县| 西平县| 昆明市| 子长县| 久治县| 容城县| 姜堰市| 偏关县| 高安市| 阿荣旗| 鸡西市| 洛南县| 东方市| 岳阳市| 讷河市| 桑日县| 嘉黎县| 永川市| 通道| 四会市| 商丘市| 富阳市| 耿马|