首页 > 编程语言 >算法设计与分析 头哥educoder 旅行商问题

算法设计与分析 头哥educoder 旅行商问题

时间:2024-05-26 18:29:00浏览次数:69  
标签:输出 educoder 花费 城市 最小 算法 cities 头哥 road

设有n个城市组成的交通图,一个售货员从住地城市q出发,到其它城市各一次去推销货物,最后回到住地城市。 要求:假定两个城市a,b 从a到b的路程花费w_ab是已知的,问应该怎样选择一条花费最少的路线?

输入格式: 第一行n m q,n和m两个整数分别表示城市数n以及城市之间的单向路数量m,q表示住地城市(出发城市) 之后m行 a b w分别表示从城市a到城市b的单向路程的花费w_ab。 输出格式: 第一行输出最小花费是D,D表示计算得到的最小花费。 第二行输出最小花费共有N种方案,分别是:,N表示最小花费方案的种类, 接下来N行输出每种方案的前往顺序,以字典序排序输出,中间以空格分隔。

输入样例: 3 6 A A B 12 A C 4 B C 5 B A 8 C B 7 C A 2

输出样例: 最小花费是19 最小花费共有2种方案,分别是: A B C A C B

from itertools import permutations


def tsp(n, m, q, roads):
    from sys import maxsize
    cities = set()
    city_indices = {}
    index_cities = {}

    # 建立城市与索引的映射关系
    for i, road in enumerate(roads):
        cities.add(road[0])
        cities.add(road[1])
    cities = sorte

标签:输出,educoder,花费,城市,最小,算法,cities,头哥,road
From: https://blog.csdn.net/m0_62222486/article/details/139188456

相关文章

  • 风控图算法Graph Embedding(DeepWalk&Node2Vec)代码实现
    风控图算法GraphEmbedding(DeepWalk&Node2Vec)代码实现在上一篇中我们简单介绍了常用的GraphEmbedding算法,今天来对其中较为常用的两种算法——DeepWalk和Node2Vec进行python代码实现。文章目录风控图算法GraphEmbedding(DeepWalk&Node2Vec)代码实现一、KarateClub算......
  • 银行家算法—安全状态
    银行家算法中设置4个数据结构:Max:进程对资源的最大需求数Allocation:已分配给该进程的资源数Need:目前该进程还需要的资源数(在已分配部分资源情况下)******    且   Need=Max-Allocation  ******Available:系统中可用资源的数目......
  • 代码随想录算法训练营第第18天 | 513.找树左下角的值 、112. 路径总和 、106.从中
    找树左下角的值本地递归偏难,反而迭代简单属于模板题,两种方法掌握一下题目链接/文章讲解/视频讲解:https://programmercarl.com/0513.找树左下角的值.html/***Definitionforabinarytreenode.*functionTreeNode(val,left,right){*this.val=(val===undef......
  • 超简单白话文机器学习 - 回归树&树剪枝(含算法介绍,公式,源代码实现以及调包实现)
    1.回归树1.1算法介绍大家看到这篇文章时想必已经对树这个概念已经有基础了,如果不是很了解的朋友可以看看笔者的这篇文章:超简单白话文机器学习-决策树算法全解(含算法介绍,公式,源代码实现以及调包实现)_白话决策树-CSDN博客对于回归树的建立,我们一般使用CART回归树,CART(Clas......
  • 自用:常见算法竞赛/刷题问题 & 模板
    以下是我平常刷题遇到的部分常见问题,随手记录一下。(不定时更新)基本算法二维前缀和for(inti=1;i<=m;++i){ for(intj=1;j<=n;++j) { pre[i][j]=pre[i-1][j]+pre[i][j-1]-pre[i-1][j-1]+nums[i][j]; }}//异或版本for(inti=1;i......
  • EXCEL VBA终极提速,超级公式,算法优化
    1,简化公式,200个字变成10个字有很多公式写的很长,看不懂很难维护,如果改成VBA代码,简化成一个超级函数,方便维护,还可以给多个工程共用,实现模块化开发2,计算提速。有些vba运算很慢,需要几分钟到几小时,用好的方法,运行速度可以减到1分钟以内甚至10秒以内。这2天做了一个3万个左右的订......
  • 文心一言 VS 讯飞星火 VS chatgpt (267)-- 算法导论20.2 2题
    二、写出PROTO-vEB-DELETE的伪代码。通过扫描簇内的相关位,来更新相应的summary位。并且你实现的伪代码的最坏情况运行时间是多少?如果要写代码,请用go语言。文心一言:首先,让我们回顾一下vEB(VanEmdeBoas)树的基本概念。vEB树是一种特殊的搜索树,用于处理在{0,1,…,U-1}......
  • 程序分享--常见算法/编程面试题:多数元素
    关注我,持续分享逻辑思维&管理思维&面试题;可提供大厂面试辅导、及定制化求职/在职/管理/架构辅导;有意找工作的同学,请参考博主的原创:《面试官心得--面试前应该如何准备》,《面试官心得--面试时如何进行自我介绍》, 《做好面试准备,迎接2024金三银四》。或关注博主免费专栏【程序......
  • 数据结构与算法学习(05)查找(2)索引——BUAA
    文章目录查找(2)——索引介绍索引的基本概念稠密索引非稠密索引——分块索引多级索引查找(2)——索引介绍本文为查找第二部分,主要是整理了本人上课时讲的内容索引的基本概念索引:记录关键字值与记录的存储位置之间的对应关系索引文件:由基本数据与索引表两部分组成的......
  • 数据结构与算法学习(07)查找(4)散列、哈希、字典——BUAA
    文章目录查找(4)——散列(Hash)字典介绍散列函数的构造方法直接地址法数字分析法平方取中法叠加法移位叠加法折叠叠加法基数转换法除留余数法随机数法一些好的哈希函数**针对字符串好的哈希函数冲突的处理方法开放地址法线性探测二次探测伪随机特点再散列法链接地址法代......