当前位置: 首页 > wzjs >正文

计算机怎么建设网站网站建设需要桂ajax吗

计算机怎么建设网站,网站建设需要桂ajax吗,设计案例分享网站,做简报的网站应用 一个军队有N名士兵需要过河&#xff0c;敌军在T时长后追上。现有一条小船&#xff0c;最多乘坐2名士兵。 当一名士兵划船过河时&#xff0c;用时为a[i]&#xff0c;0<i<N&#xff1b; 当两名士兵共同划船过河时&#xff0c;用时为max(a[i], a[j])&#xff0c;两士兵…

应用

一个军队有N名士兵需要过河,敌军在T时长后追上。现有一条小船,最多乘坐2名士兵。
当一名士兵划船过河时,用时为a[i],0<=i<N;
当两名士兵共同划船过河时,用时为max(a[i], a[j]),两士兵中单独划船较长的;
当两名士兵乘船、一名士兵划船过河时,用时为10*a[i],a[i]为单独划船的士兵;
士兵游泳过河直接标记为死亡。
#请设计一种方案,保证存活的士兵尽可能多、过河用时尽可能短。

实现

N = int(input("士兵数:"))
T = int(input("敌军到达时长:"))
strings = input("每个士兵过河时长:").split()
a = [int(i) for i in strings]# 回
back_solution = []
for i in range(0, len(a)):g = [i, a[i]]back_solution.append(g)
# 去1
to_solution_1 = []
for i in range(0, len(a)-1):for j in range(i+1, len(a)):g = [i, j, max(a[i], a[j])]to_solution_1.append(g)
# 去2
to_solution_2 = []    
for i in range(0, len(a)):for j in range(0, len(a)):if i != j:# i为划船士兵g = [i, j, 10*a[i]]to_solution_2.append(g)# print(f"回:{back_solution}")
# print(f"去一:{to_solution_1}")
# print(f"去二:{to_solution_2}")# 为保证有效运输,采取“去2人回1人”,不能是“去1人回1人”、“去2人回2人”、“去2人回0人”。去+回=周期
cycles1 = []
for i in range(0, len(to_solution_1)):for j in range(0, len(back_solution)):driver0 = to_solution_1[i][0]driver1 = to_solution_1[i][1]back_member = back_solution[j][0]if back_member == driver0 or back_member == driver1:time = to_solution_1[i][-1] + back_solution[j][-1]g = [driver0, driver1, back_member, time]cycles1.append(g)cycles2 = []
for i in range(0, len(to_solution_2)):for j in range(0, len(back_solution)):driver0 = to_solution_2[i][0]driver1 = to_solution_2[i][1]back_member = back_solution[j][0]if back_member == driver0 or back_member == driver1:time = to_solution_2[i][-1] + back_solution[j][-1]g = [driver0, driver1, back_member, time]cycles2.append(g)# 从小到大排序
for i in range(0, len(cycles1)):for j in range(0, len(cycles1)):if cycles1[i][-1] < cycles1[j][-1]:cycles1[j], cycles1[i] = cycles1[i], cycles1[j]for i in range(0, len(cycles2)):for j in range(0, len(cycles2)):if cycles2[i][-1] < cycles2[j][-1]:cycles2[j], cycles2[i] = cycles2[i], cycles2[j]# print(f"组合一:{cycles1}")
# print(f"组合二:{cycles2}")def compare(c1, c2):if c1[-1] <= c2[-1]:return c1else:return c2i = 0
j = 0
safe = []
time = []
while T > 0:# 当前组合的乘船士兵,不包含已到达对岸的士兵if (cycles1[i][0] not in safe) and (cycles1[i][1] not in safe):if (cycles2[j][0] not in safe) and (cycles2[j][1] not in safe):# 最短时间方案c = compare(cycles1[i], cycles2[j])# 下一次循环的索引i = i + 1j = j + 1else:# 下一次循环的索引j = j + 1continueelse:# 下一次循环的索引i = i + 1continueif c[0] == c[2]:safe.append(c[1])else:safe.append(c[0])time.append(c[-1])T = T - c[-1]# print(f"临界值:{i-1}或{j-1}")
c = compare(cycles1[i-1], cycles2[j-1])
bak_index = c[2]
safe.append(bak_index)sum = 0
for i in time:sum = sum + i
t = sum - a[bak_index]
print(len(safe), t)
士兵数:5
敌军到达时长:43
每个士兵过河时长:12 13 15 20 50
3 40
http://www.dtcms.com/wzjs/774138.html

相关文章:

  • 营销网站试用逸阳网站建设的目标
  • dw php网站开发房地产项目建设背景
  • 农业建设管理信息网站关键词热度分析
  • 做网站找哪家好要钱吗如何用网站首页做404
  • seopc流量排名网站视频号推广入口
  • 做网站平台的注册什么商标wordpress 行间距插件
  • 网站建设流程是这样的 里面有很上海市住宅建设发展中心网站
  • 网站设计公司深圳一流本科专业建设网站
  • 天天向上 网站建设江苏路街道网站建设
  • 宁波做外贸网站河北建筑工程学院招生网官网
  • 广告网站建设价格绵阳做网站的
  • 有做销售产品的网站有哪些建设网站员工招聘策划
  • 网站的优化与推广分析公司介绍网页模板
  • hyip网站开发wordpress插件 数据库
  • 如何在自己的服务器上搭建微网站品牌建设部门的搭建
  • 哈尔滨模板建站新报价常德做网站专业公司哪家好
  • 网页制作工具分为站长工具seo综合查询怎么看数据
  • 莆田建设网站盐城哪家专业做网站
  • 如何制作简易 网站做网站需要用到那些软件
  • 电脑维修网站模板vi设计应用部分有哪些
  • 电商网站建设思维导图专业网站优化排名
  • 网站做排名有用吗电子商务网站建设与管理试题
  • 企业单位网站怎么做自己做网站是不是需要写代码
  • 萝岗高端网站建设如何自己做网址
  • 做断桥铝窗户的网站关注公众号赚钱
  • 济南浩辰网站建设公司怎么样网站建设 百度云盘
  • 利用wix建手机网站国外网站设计公司
  • 大型综合门户网站开发建设网站有何要求
  • 网站ui设计报价单wordpress文件上传位置
  • 海参企业网站怎么做视频网站 建设 硬件