http://codility.com/demo/take-sample-test/hydrogenium2013

用Dijkstra求最短路径,同时和D[i]比较判断是不是能到。用了优先队列优化,复杂度是(m+n)*log(n)。同时,写Dijkstra的时候一般要用dist数组,这里只拿它做访问标示。中间有个坑就是两个点之间可以多条路径,fail了半天。

#include <queue>
#include <functional>#define pp pair<int,int>
int solution(const vector<int> &A, const vector<int> &B, const vector<int> &C, const vector<int> &D) {// write your code in C++98int N = A.size();int M = D.size();vector<vector<int> > graph;graph.resize(M);for (int i = 0; i < M; i++) {graph[i].resize(M, -1);}for (int i = 0; i < N; i++) {graph[A[i]][B[i]] = (graph[A[i]][B[i]] == -1 ? C[i] : min(graph[A[i]][B[i]], C[i]));graph[B[i]][A[i]] = (graph[B[i]][A[i]] == -1 ? C[i] : min(graph[B[i]][A[i]], C[i]));}vector<int> dist(M, -1);priority_queue<pp, vector<pp>, greater<pp> > que;que.push(make_pair(0, 0));while (!que.empty()) {pp p = que.top();que.pop();if (dist[p.second] == -1) {dist[p.second] = p.first;}else {continue;}if (p.first <= D[p.second]) return p.first;for (int i = 0; i < graph[p.second].size(); i++) {if (graph[p.second][i] != -1) {que.push(make_pair(graph[p.second][i] + p.first, i));}}}return -1;
}

  

转载于:https://www.cnblogs.com/lautsie/p/3436478.html

[codility]Grocery-store相关推荐

  1. Grocery Store OpenCart 自适应主题模板 ABC-0327

    2019独角兽企业重金招聘Python工程师标准>>> Features: Coding: HTML5, CSS3, Semantic Code, jQuery, Responsiv ...

  2. UVa 11236 - Grocery store

    题目 输出20.00以内的四元组,四元组的和与积相同. 分析 枚举即可.枚举精度为0.01,这里为了处理精度误差,直接用整数处理(全都乘以100). 说明 圣诞节在实验室写代码,ε=(´ο`*)))唉 ...

  3. POJ 3369 Grocery store 可能会

  4. poj 3369 Grocery store 枚举

    题意: 求a,b,c,d满足a+b+c+d==a*b*c*d<=20 a,b,c,d要求的精度是小数点后2位. 分析: 本地打表后可以适当减小枚举范围,否则超时. 代码: //poj 3369 ...

  5. javascript 堆栈_JavaScript调用堆栈-它是什么以及为什么它是必需的

    javascript 堆栈 The JavaScript engine (which is found in a hosting environment like the browser), is a ...

  6. javascript_治愈JavaScript疲劳的研究计划

    javascript by Sacha Greif 由Sacha Greif 治愈JavaScript疲劳的研究计划 (A Study Plan To Cure JavaScript Fatigue) ...

  7. AI一周热闻:GitHub免费开放无限私有库;苹果市值蒸发超450亿美元;小米入股TCL...

    CES 2019:英伟达发布RTX 2060和RTX 2080移动版 小米入股TCL,增强供应链话语权 苹果市值蒸发价值超过Facebook,全球市值第一不保 GitHub开放无限私有仓库免费使用 英 ...

  8. English in 999

    1. I see. 我明白了. 2. I quit! 我不干了! 3. Let go! 放手! 4. Me too. 我也是. 5. My god! 天哪! 6. No way! 不行! 7. Com ...

  9. thymleaf th:text 和 th:utext 之间的区别

    1 th:text属性 可对表达式或变量求值,并将结果显示在其被包含的 html 标签体内替换原有html文本 文本连接:用"+"符号,若是变量表达式也可以用"|&quo ...

  10. (二)Thymeleaf标准表达式之——简单表达式

    2. 标准表达式(Standard Expression Syntax) 标准表达式包含以下几个方面: 简单表达式: 变量表达式: ${...} 选择变量表达式: *{...} 消息表达式: #{.. ...

最新文章

  1. 高频开关电源原理_程控开关电源的工作原理
  2. 兼容超大图片的处理_动态图适用性调研与兼容性方案
  3. 用python+tornado+mongodb写的一个博客系统
  4. fcm模糊聚类matlab实例_一文学会使用MATLAB将仿真、试验数据可视化附带源程序
  5. 超全面Python基础入门教程【十天课程】博客笔记汇总表
  6. python中webdriver_浅谈python中selenium库调动webdriver驱动浏览器的实现原理
  7. ajax 填充,自动填充ajax请求
  8. Eclipse Java注释模板设置详解
  9. redis学习之——redis.conf配置(基本)文件学习
  10. vfp操作excel排序_中招计算机信息技术考试训练|Excel操作题一|排序和筛选
  11. 图论 —— 生成树 —— 次小生成树
  12. SpringBoot2.1.5(23)---SpringBoot 开发WEB应用
  13. 深度相机(七)--体感设备对比
  14. 微信小程序实现自动登录
  15. linux禁调usb,Linux主机禁用USB接口
  16. UI交互设计教程全套视频合集:轻松玩转photoshop抠图
  17. 【年终总结】你好2021,再见2020。
  18. 曼陀罗花对女性有什么作用?
  19. Connectable high duty cycle directed advertising
  20. 微信订阅号之1-注册

热门文章

  1. 绘制2000年至2017年三产、各行业季度国民生产总值拆线图
  2. 63 岁老工程师设计一屏双计算器软件工具,一起看看?
  3. 趣图:求程序猿粑粑此时的心理阴影面积…… ​​​​
  4. kratos mysql_Kratos
  5. 小米监控--Open-Falcon
  6. 克克第一次中午没接回家
  7. Linux(中科方德服务器版4.0)springboot启动多个服务脚本开机自启
  8. java数据同步解决方案_Java实现多线程数据同步的几种方法
  9. 12自由度六足机器人实现原地舞蹈功能
  10. 已有一万名快手用户集齐好运卡获得六六六早鸟红包,还可再分一亿