忽略一个条件:可能具有连续的小路,跑一边裸的迪杰斯特拉算法,即可拿到80分

注意:边权可能会爆int,采用long long才可以

#include <iostream>
#include <cstring>
using namespace std;const long long inf = 1e14;
long long edge[505][505];   //边的长度
bool vis[505];              //是否已经确定最短路径的长度
long long d[505];           //最短路径的长度
long long cur,a,b,c,n,m,flag,imin;void init()
{memset(edge,0,sizeof(edge));memset(vis,0,sizeof(vis));for(int i=1; i<=n; ++i)d[i] = inf;vis[1] = cur = 1;d[1] = 0;for(int i=0; i<m; ++i)  //处理各边长度 {cin>>flag>>a>>b>>c;if(flag == 1) c *= c;if(edge[a][b]==0 || c < edge[a][b])edge[a][b] = edge[b][a] = c;}
}int main()
{cin>>n>>m;init();for(int i=1; i<=n-1; ++i) //要再次加入n-1个结点 {for(int j=1; j<=n; ++j) //松弛当前结点的每一条出边 {if(vis[j]==0 && edge[cur][j] && edge[cur][j] + d[cur] < d[j])d[j] = edge[cur][j] + d[cur];}imin = inf;for(int j=1; j<=n; ++j)  //找到d值最小的结点 {if(vis[j]==0 && imin > d[j]){imin = d[j];cur = j;}}vis[cur] = 1;if(cur==n) break; //结点n的最短路径被找到,退出 }cout<<d[n];return 0;
}

【CCF 201712-4】行车路线(Dijkstra 80分)相关推荐

  1. CCF认证 201712-4 行车路线(100分)

    CCF认证 201712-4 行车路线 思路:好难啊,去学习大佬的解法了,结果吭吭哧哧的还出现很多不bug.首先用的是是spfa的算法.但是由于处理小路的时候用来floyd,所以这个时间复杂度也不小, ...

  2. CCF:201712-4 行车路线

    试题编号: 201712-4 试题名称: 行车路线 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 小明和小芳出去乡村玩,小明负责开车,小芳来导航. 小芳将可能的道路分为大道和 ...

  3. CCF 201712-4 行车路线(100分)

    思路 难点在于 大小路的混合, 连续走 小路时 L1,L2,产生的疲劳值为(L1+L2)的平方,而不是 (L1 的平方 +L2 的平方) 解决思路 把大路和小路分开在两张图上考虑,由于小路的疲劳值为连 ...

  4. ccf认证 201712-4行车路线(100分)

    题目: 问题描述 小明和小芳出去乡村玩,小明负责开车,小芳来导航. 小芳将可能的道路分为大道和小道.大道比较好走,每走1公里小明会增加1的疲劳度.小道不好走,如果连续走小道,小明的疲劳值会快速增加,连 ...

  5. CCF考试——201712-4行车路线

    概要 问题描述 小明和小芳出去乡村玩,小明负责开车,小芳来导航. 小芳将可能的道路分为大道和小道.大道比较好走,每走1公里小明会增加1的疲劳度.小道不好走,如果连续走小道,小明的疲劳值会快速增加,连续 ...

  6. CCF 行车路线 100分

    试题编号: 201712-4 试题名称: 行车路线 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 小明和小芳出去乡村玩,小明负责开车,小芳来导航. 小芳将可能的道路分为大道和 ...

  7. CCF认证 2017-12 行车路线

    最短路的变形,有两种道路,需要分开计算最短距离,要不然得不到全局最优解 考试得分80,后来看了好久发现,竟然是int爆掉了,导致没有满分(囧) #include<iostream> #in ...

  8. CCF CSP 行车路线 java 201712_4

    CCF CSP 行车路线 java 201712_4 问题描述 小明和小芳出去乡村玩,小明负责开车,小芳来导航. 小芳将可能的道路分为大道和小道.大道比较好走,每走1公里小明会增加1的疲劳度.小道不好 ...

  9. CCF 201712-4行车路线

    题目描述 问题描述 小明和小芳出去乡村玩,小明负责开车,小芳来导航. 小芳将可能的道路分为大道和小道.大道比较好走,每走1公里小明会增加1的疲劳度.小道不好走,如果连续走小道,小明的疲劳值会快速增加, ...

最新文章

  1. CCAI 2020 | 黄铁军:“仿真主义”下的人工智能发展之路
  2. module r8169
  3. initramfs两种方法恢复_苹果手机备忘录删除了怎么恢复?两种方法,解决90%恢复问题...
  4. 网易云海外推流部署实践
  5. TCP三次握手建立连接的过程
  6. Sql Server REPLACE函数的使用
  7. 文本居于图片左侧html,CSS实现图片与文本的居中对齐的常见方式
  8. 财政bug之”Y2K Accounting Bug“
  9. SSL 模拟赛 总结(2017.10.25)
  10. 计算机机房年度重点工作,信息中心计算机的机房建设要求最新.doc
  11. 《视觉SLAM进阶:从零开始手写VIO》第三讲 基于优化的IMU预积分与视觉信息融合 作业
  12. if语句详解(c语言)
  13. 【Python】第1次作业:圆面积的计算A,计算矩形面积,说句心里话A
  14. 数据结构之树与二叉树
  15. Hibernate中的方言
  16. qq java w580c_哪里下载索爱W580c的手机QQ?
  17. 23种设计模式----模板方法模式----行为模式
  18. 中华万年历CTO杭建:Java后端技术概览
  19. 如何平衡创造性和可靠性?
  20. 如何使用PHP采集大淘客优惠券到网站,同步到WordPress网站

热门文章

  1. ubuntu 网速测试方法
  2. 从异常堆栈中还原 ProGuard 混淆过的代码
  3. oracle 8i卸载,如何彻底卸载ORACLE8I?
  4. UE4 场景展示Demo
  5. 安装MySQL的步骤和方法
  6. 强化学习keras-rl2的安装注意点
  7. DeprecationWarning: currentThread() is deprecated, use current_thread() instead
  8. Linux MD5 programming in C Language
  9. 群晖nas使用的端口
  10. 45个超实用网站,超强整理!外贸人收藏