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

杭电 2680 Choose the best route

这道题用djs算法就可以的。。。起初用FLOYD算法结果超时了。。。用djs时memset函数没用好。。。

结果输出都是错的。。定义数组初始最大时要这样定义

#define MAX  0x4f4f4f4f   

int map【1001】【1001】;

memset(map,0x4f,sizeof(map));

还有就是把终点作为起始点

代码:

View Code
 1 #include<iostream>
 2 #define MAX  0x4f4f4f4f
 3 using namespace std;
 4 int  map[1002][1002];
 5 int dis[1002];
 6 int n,m,mudi,hash[1002];
 7 void djs(int v)
 8 {
 9      int i,j,index;
10      int mi;  
11      for(i=1;i<=n;i++)
12      {
13            dis[i]=map[v][i];
14            hash[i]=0; 
15      } 
16      dis[v]=0; 
17      hash[v]=1;
18      for(i=1;i<=n;i++)
19      {
20         mi=MAX;
21         index = 0;
22           for(j=1;j<=n;j++)
23           {
24                if(!hash[j]&&dis[j]<mi) 
25                {
26                  index=j;
27                  mi=dis[j]; 
28                } 
29           }
30           hash[index]=1;
31           for(j=1;j<=n;j++)
32           {
33                if(!hash[j]&&dis[j]>dis[index]+map[index][j])
34                 dis[j]= dis[index]+map[index][j]; 
35           }  
36      }
37 } 
38 int main()
39 {
40     int w,im;
41     int x,y,t;
42     int i,j; 
43     while(cin>>n>>m>>mudi)
44    {
45          memset(map,0x4f,sizeof(map));
46          
47         for(i=1;i<=m;i++)
48             {
49                  cin>>x>>y>>t; 
50                  if(t<map[y][x])
51                       map[y][x]=t; 
52             }
53           djs(mudi);
54           cin>>w;
55          im=MAX;
56          while(w--)
57          {
58                cin>>x;
59                  if(dis[x]<im)
60                        im=dis[x];
61          }
62          if(im<MAX)
63                cout<<im<<endl;
64          else
65               cout<<-1<<endl;
66      } 
67    return 0; 
68 }

 

转载于:https://www.cnblogs.com/xinmenghuairi/archive/2012/08/03/2621341.html

相关文章:

  • 【转】已知一个数出现的次数严格超过了一半,请用O(n)的复杂度的算法找出这个数...
  • 常怀谦卑惭愧心
  • Java开发者必读的10篇精选优秀技术文章
  • C++/C学习笔记(五)
  • Referer防盗链
  • 信息安全系统设计基础 实验二固件设计 20135327郭皓 20135329 李海空
  • Linux设备驱动并发控制详解(自旋锁,信号量)
  • git patch
  • [ActionScript][AS3]小小笔记
  • 关于Unity3D的学习曲线问题
  • js如何读取客户端Excel文件
  • Hadoop学习笔记—15.HBase框架学习(基础实践篇)
  • 转:Android之Tab分页标签的实现方法一-----TabActivity和TabHost的结合
  • 魅族/锤子/苹果 悬停效果的实现
  • update information -apt authentication issue解决方法
  • [译]Python中的类属性与实例属性的区别
  • CentOS 7 修改主机名
  • ECMAScript6(0):ES6简明参考手册
  • Github访问慢解决办法
  • Intervention/image 图片处理扩展包的安装和使用
  • Spring-boot 启动时碰到的错误
  • tab.js分享及浏览器兼容性问题汇总
  • 极限编程 (Extreme Programming) - 发布计划 (Release Planning)
  • 紧急通知:《观止-微软》请在经管柜购买!
  • 前端工程化(Gulp、Webpack)-webpack
  • Nginx惊现漏洞 百万网站面临“拖库”风险
  • Nginx实现动静分离
  • 交换综合实验一
  • ​​​​​​​​​​​​​​汽车网络信息安全分析方法论
  • ​无人机石油管道巡检方案新亮点:灵活准确又高效
  • # 学号 2017-2018-20172309 《程序设计与数据结构》实验三报告
  • #Lua:Lua调用C++生成的DLL库
  • (2)MFC+openGL单文档框架glFrame
  • (9)YOLO-Pose:使用对象关键点相似性损失增强多人姿态估计的增强版YOLO
  • (html5)在移动端input输入搜索项后 输入法下面为什么不想百度那样出现前往? 而我的出现的是换行...
  • (搬运以学习)flask 上下文的实现
  • (笔试题)合法字符串
  • (多级缓存)多级缓存
  • (附源码)springboot美食分享系统 毕业设计 612231
  • (黑客游戏)HackTheGame1.21 过关攻略
  • (三)Hyperledger Fabric 1.1安装部署-chaincode测试
  • (三)Pytorch快速搭建卷积神经网络模型实现手写数字识别(代码+详细注解)
  • (提供数据集下载)基于大语言模型LangChain与ChatGLM3-6B本地知识库调优:数据集优化、参数调整、Prompt提示词优化实战
  • (学习日记)2024.03.12:UCOSIII第十四节:时基列表
  • (一)SpringBoot3---尚硅谷总结
  • (转)关于如何学好游戏3D引擎编程的一些经验
  • .NET Core IdentityServer4实战-开篇介绍与规划
  • .NET Core中的去虚
  • .net MVC中使用angularJs刷新页面数据列表
  • .Net Winform开发笔记(一)
  • [ vulhub漏洞复现篇 ] Grafana任意文件读取漏洞CVE-2021-43798
  • [16/N]论得趣
  • [2016.7 day.5] T2
  • [BT]BUUCTF刷题第9天(3.27)
  • [C++数据结构](31)哈夫曼树,哈夫曼编码与解码