神秘小帅哥 发表于 2020-5-28 18:39:50

有个题不太会

希望大佬们给点思路,想了好久了不知道怎么解决

java2python 发表于 2020-5-28 18:39:51

本帖最后由 java2python 于 2020-5-31 17:12 编辑

比如:比如之前这里先把城市编号0,1,2,3(和编程不同,0开始很违反习惯)。。。改为A,B,C,D,E(城市和路线容易搞混,最好全是分开编号)
加入起始点A,A和B,C,D相连
A->B
A->C
A->D
就像下棋,走一步能够到达的节点,把它放到STEP1l列表
然后是,走两步能到达的节点,放到STEP2
接下来3,4,5。。。就是STEP3,STEP4,STEP5
如果是这样就是手动实现了,
程序操作用循环,当STEPn的列表不为空,就再执行下一步,因为所有下一步,都是前一步再走一步来的
前一步都搜索不到节点,那么自然没有再下一步了。另外程序不会step1->step2->step3->step4->step5
而是始终step0->step1。。。一步走完后(循环完成后),把step1变成step0,STEP1变成空,继续while步骤,直到step1发展不出节点
while len(step_n0_nodes) > 0:
    step_n0_nodes 所有节点发展下一步,加入step1
       
    step_n0_nodes = step_n1_nodes[:] #下一步step0变成1
    step_n1_nodes.clear() #step1变成空

而搜索的起始点,就是第一个step0:
step_n0_nodes =

xiaodaio96333 发表于 2020-5-28 22:04:03

{:10_269:}

win_233 发表于 2020-5-28 22:14:01

{:10_266:}

Tip0 发表于 2020-5-29 01:07:25

嘿嘿

liaoyiqin 发表于 2020-5-29 09:43:31

可以用循环(决策树)解决

神秘小帅哥 发表于 2020-5-29 10:06:46

liaoyiqin 发表于 2020-5-29 09:43
可以用循环(决策树)解决

能不能具体一点呢{:10_277:}

Twilight6 发表于 2020-5-29 10:14:32

神秘小帅哥 发表于 2020-5-29 10:06
能不能具体一点呢

具体题意没懂,比如收费是怎么算的,返回的是什么

看样例应该是 返回 第几条路行 和 金额?

神秘小帅哥 发表于 2020-5-29 10:53:54

Twilight6 发表于 2020-5-29 10:14
具体题意没懂,比如收费是怎么算的,返回的是什么

看样例应该是 返回 第几条路行 和 金额?

需要求出最短路径的长度,如果有多个最短路径,求出花费最少的,
就是让你求出路径最短且花费最少的路径

Twilight6 发表于 2020-5-29 10:58:36

神秘小帅哥 发表于 2020-5-29 10:53
需要求出最短路径的长度,如果有多个最短路径,求出花费最少的,
就是让你求出路径最短且花费最少的路径

你说和没说差不多...

神秘小帅哥 发表于 2020-5-29 11:04:32

Twilight6 发表于 2020-5-29 10:58
你说和没说差不多...

图片上就是完整的一个题,我不会才来求助的。。。

Twilight6 发表于 2020-5-29 11:25:49

A = [ int(i) for i in input().split(' ')]
routes = []
while True:
    M = input()
    if not M:
      break
    routes.append()
   
# 将可以到达目的地的路线存入列表
shortest_routes = []
for i in range(len(routes)):
    if routes == A and routes == A:
      shortest_routes.append((i+1,routes,routes*routes))

# 按升序排序      
shortest_routes = sorted(shortest_routes,key=lambda x:x)
print(shortest_routes,shortest_routes)

神秘小帅哥 发表于 2020-5-29 12:02:30

Twilight6 发表于 2020-5-29 11:25


emmm...不是很对,收费额应该不是高速公路的长度x收费额吧,应该是需要经过这个高速然后进行缴费
例如这个题:应该是先从城市0到城市2在从城市2到城市3,然后从城市0到城市2需要交费20 从城市2到城市3需要缴费20 一共交费20+20=40元

Twilight6 发表于 2020-5-29 12:05:05

神秘小帅哥 发表于 2020-5-29 12:02
emmm...不是很对,收费额应该不是高速公路的长度x收费额吧,应该是需要经过这个高速然后进行缴费
例如这 ...

对啊 我开始就问你收费是怎么算的啊,你也不说,说了一堆没什么用的

神秘小帅哥 发表于 2020-5-29 12:10:26

Twilight6 发表于 2020-5-29 12:05
对啊 我开始就问你收费是怎么算的啊,你也不说,说了一堆没什么用的

这个收费不是自己理解的嘛,题目上应该写清楚了{:10_282:}

Twilight6 发表于 2020-5-29 12:13:03

神秘小帅哥 发表于 2020-5-29 12:10
这个收费不是自己理解的嘛,题目上应该写清楚了

主要是我开始问你了啊晕了{:10_284:}

liaoyiqin 发表于 2020-5-29 13:08:00

神秘小帅哥 发表于 2020-5-29 12:10
这个收费不是自己理解的嘛,题目上应该写清楚了

对啊,每条收费多少元?

神秘小帅哥 发表于 2020-5-29 13:21:32

Twilight6 发表于 2020-5-29 12:13
主要是我开始问你了啊晕了

{:10_266:}对不起我的错

Twilight6 发表于 2020-5-29 13:22:40

神秘小帅哥 发表于 2020-5-29 13:21
对不起我的错

{:10_266:}

永恒的蓝色梦想 发表于 2020-5-29 13:26:18

Twilight6 发表于 2020-5-29 12:13
主要是我开始问你了啊晕了

这题算写的很清楚的了{:10_277:}
页: [1] 2
查看完整版本: 有个题不太会