题解:

#include<bits/stdc++.h>
using namespace std;
const int INF=1000000000;
const int maxv=1005;
struct Node
{int v,w;Node(int _v,int _w):v(_v),w(_w) {}//构造函数  方便赋值
};
vector<Node> Adj[maxv];
int t,n,m,k,x,y,w,z;
int mb[1005];
int vis[maxv];//???????????????初始化可能不正确
int dist[1005][1005];//存储结果 void dijkstra(int s)
{memset(vis,false,sizeof(vis));//每次进来都要初始化 dist[s][s]=0;//重要初始化 for(int i=0;i<n;i++){int u=-1,min=INF;//重要初始化for(int j=1;j<=n;j++){if(vis[j]==false&&dist[s][j]<min){u=j;min=dist[s][j];//找到最优化过的节点 }} if(u==-1) return;//剪枝 vis[u]=true;//标记 for(int j=0;j<Adj[u].size();j++){int v=Adj[u][j].v;if(vis[v]==false&&dist[s][v]>dist[s][u]+Adj[u][j].w)//注意是大于号 dist[s][v]=dist[s][u]+Adj[u][j].w;}}
}
void zhaolu()
{//用全排列来遍历所有路径 int ans=INF;long long total=1;for(int i=k;i>=1;i--) total*=i;while(total--){int sum=0;for(int i=1;i<k;i++){sum+=dist[mb[i]][mb[i+1]];}sum+=dist[1][mb[1]];//加上第一步 if(sum<ans) ans=sum;next_permutation(mb+1,mb+1+k);}prev_permutation(mb+1,mb+1+k);//可以删除 在这里是方便检查 cout<<ans<<endl;
}
int main()
{//freopen("kkk.txt","r",stdin);cin>>t;while(t--){//记得初始化 fill(dist[0],dist[0]+1005*1005,INF);cin>>n>>m>>k;for(int i=1;i<=m;i++){cin>>x>>y>>z;Adj[x].push_back(Node(y,z));Adj[y].push_back(Node(x,z));//无向图的处理方法 }dijkstra(1);//计算初始节点 for(int i=1;i<=k;i++) {cin>>mb[i];dijkstra(mb[i]);//只需要 计算目标节点到其他所有节点的最短路径即可 }zhaolu();//**************下面这句非常重要 for(int i=0;i<maxv;i++) Adj[i]=vector<Node>();//对邻接表进行初始化 }return 0;}


邻接表Dijkstra模板———2014 北邮网研 D题 网络传输相关推荐

  1. 北邮网研mysql概念面试_回馈王道--2014北邮网研经验贴---初试+复试

    一.个人情况211+985高校,软件工程专业. 总分348 = 英语60 + 政治57 + 数学131 + 专业100 1.数学一直都很好 2.英语一直都很渣,凭借着顽强地努力刷到60兴奋地跳了起来 ...

  2. 2014北邮网研上机试题D

    目录 Problem D 网络传输 题目描述 输入格式 输出格式 思路 代码 积累知识 oj提交链接 Problem D 网络传输 题目描述 网络的高效互联与智能传输是提升海量用户服务请求映射效率的重 ...

  3. 2014北邮网研机试

    注意:所有代码均是根据题目描述进行了本地测试,没有在北邮oj上测试,不保证一定能AC. 点击链接查看历年机试题目汇总. A分数加法 题目描述 求2^(-a)+2^(-b),其中a和b均为正整数,结果请 ...

  4. 2012北邮网研真题C-IP地址

    题目 代码 //IP地址 #include <iostream> #include <string.h> using namespace std;char a[20];int ...

  5. 2014年北邮网研院复试上机题目

    2014年北邮网研院复试上机题目 2014.网研院.Problem A.分数加法 链接: http://10.105.242.83/problem/299 题目描述 求2^-a + 2^-b,其中a和 ...

  6. 2012年北邮网研院复试上机题目

    2012年北邮网研院复试上机题目 2012.网研院.Problem A.打印字符串 链接1: http://10.105.242.83/problem/132 链接2: http://10.105.2 ...

  7. 2019夏令营之行(下) 南大软件+北邮网研院

    夏令营(上):https://blog.csdn.net/Cc_Sonia/article/details/95238001 正如上篇博客所说,北航计算机是我最满意的结果,所以剩下的这两个夏令营我就没 ...

  8. 北邮网研院宿舍_考研经验|2020年北京邮电大学网研院上岸经验分享

    作者:又又忘了密码 来源:王道论坛 第一次写帖子,在考研的过程中也浏览了不少之前考生的帖子,感觉还蛮有意义的,所以准备分享一下自己的经历,供大家参考. 首先介绍一下自己的情况,女生,本科北邮电子院,成 ...

  9. 2012年北邮网研上机

    //2012年北邮网研院机试 A //2018/3/2 //by ben yafang #include<stdio.h> #include<string.h> int mai ...

最新文章

  1. vue中过渡动画(类名实现方式)
  2. 研发团队远程高效协作秘笈
  3. 20150203一些移动端H5小bug解决
  4. thinkcmf搭建教程_5分钟快速入门
  5. 第二章:WINDOWS的一些技巧
  6. 云计算环境下的服务器虚拟化技术,云计算技术与应用:虚拟化技术_服务器虚拟化.pdf...
  7. c语言编程计算缴税,C语言编写一个计算个人所得税的程序,要求输入收入金额,能够输...
  8. 笔记:全网最详细jQuery教程
  9. python订单管理系统功能_后台系统:订单管理
  10. 恐龙为何不发明计算机,为什么恐龙没有产生智慧文明,而人类文明反而如此发达?...
  11. C语言编程b a化简,C语言编程,已知三角形的三边长a,b,c,计算求三角... 如果三角形三边长 a,b,c,满足( )那么这个三角形......
  12. SIM7600 4G at指令调试
  13. Hudi on Flink在顺丰的实践应用.ppt
  14. 给客户寄样品谁付快递费?寄样品的运费太多了怎么管理?
  15. 1.Windows环境配置
  16. java虚拟机线程数_Java虚拟机最多支持多少个线程?
  17. java 对接微信公众号(一)获取token
  18. TPO Official 53 Independent Writing Task
  19. vscode内c++调用python内函数
  20. HTML 列表标签、有序列表、无序列表、自定义列表dl dt dd

热门文章

  1. Cisco 产品下载链接汇总 2023 持续更新中
  2. 数据结构之顺序表(C语言)
  3. 织女星开发板RISC-V核通过SPI协议驱动ARDUINO LCD模块(触屏)
  4. 关于小y商城开源作品
  5. 东方甲乙木,南方丙丁火,中央戊己土,西方庚辛金,北方壬癸水
  6. Android | 带你零代码实现安卓扫码功能
  7. win7计算机将在一分钟重启,Win7系统出现提示: “Windows已遇到关键问题,将在一分钟后自动重新启动。”...
  8. 火车票软件哪个好用_订车票的软件哪个好?2018十大购买车票APP排行榜推荐
  9. tensorflow验证模型准确率出现Allocation of 1003520000 exceeds 10% of system memory
  10. 华容道系列-开篇 :《华容道与数据结构》