题目链接

思路:
由题意得只有第一个方向不要转距离为 0,其他方向要转距离都为 1,
已知起点和中点,朴素dijkstra即可,感觉最短路的问题很多有建图思路大概就会写了。
样例为答案为 0 的情况解释 :2 -> 3 -> 1

代码:

#include <iostream>
#include <algorithm>
#include <iostream>
#include <string>
#include <stdio.h>
#include <algorithm>
#include <cstdlib>
#include <cstring>
#include <cstdio>
#include <math.h>
#include <climits>
#include <iomanip>
#include <queue>
#include <vector>
#define fastio ios::sync_with_stdio(false), cin.tie(NULL), cout.tie(NULL)
#define debug(a) cout << "debug : " << (#a) << " = " << a << endlusing namespace std;typedef long long ll;
typedef pair<int, int> PII;const int N = 110;
const int INF = 0x3f3f3f3f;
const double eps = 1e-6;
const int mod = 998244353;int a[N][N];
int n, s, t;
bool vis[N];
int dis[N];int dijkstra()
{memset(vis, false, sizeof vis);memset(dis, INF, sizeof dis);dis[s] = 0;for (int i = 1; i <= n; i++){int t = -1;for (int j = 1; j <= n; j++){if (!vis[j] && (t == -1 || dis[j] < dis[t]))t = j;}vis[t] = true;for (int j = 1; j <= n; j++)dis[j] = min(dis[j], dis[t] + a[t][j]);}if (dis[t] == INF)return -1;elsereturn dis[t];
}int main()
{memset(a, INF, sizeof a);cin >> n >> s >> t;for (int i = 1; i <= n; i++){int k;cin >> k;for (int j = 1; j <= k; j++){int r;cin >> r;if (j == 1)a[i][r] = 0;elsea[i][r] = 1;}}cout << dijkstra() << endl;return 0;
}

POJ - 1847(朴素dijkstra)相关推荐

  1. N - Tram POJ - 1847

    N - Tram POJ - 1847 题意: 从一个点出发,可以到达若干个点,到第一个点的边权为0,到其他点的边权为1,到不了为 inf ,求从起点到终点的最短路. #include<iost ...

  2. 7-4 最短路径之Dijkstra(朴素dijkstra打印路径)

    作者 龚雄兴 单位 湖北文理学院 本题目要求通过读入无向网的边的信息(省略了各顶点的信息,仅用顶点编号来表示),构造图,并利用Dijkstra算法,求出指定源点到其它各点的最短路径. 样例" ...

  3. AcWing 1137. Choose the best route(朴素dijkstra反向建图 or 虚拟源点法)

    题目比较简单,讲两种做法 法一.二都是用的朴素dijkstra算法 法一:反向建图 求终点s到每个起点的最短距离 O(T * (n^2 + n))(T表示多组测试数据)820ms #include & ...

  4. POJ - 1847 Tram(dijkstra)

    题意:有向图有N个点,当电车进入交叉口(某点)时,它只能在开关指向的方向离开. 如果驾驶员想要采取其他方式,他/她必须手动更换开关.当驾驶员从路口A驶向路口B时,他/她尝试选择将他/她不得不手动更换开 ...

  5. poj 1847 Tram 最短路 dijkstra、floyed

    文章目录 Dijkstra算法: AC的代码: WA的代码: Floyed代码: 我实在是找不到dijkstra的写法哪里错了,哭了,样例还有自己编的数据都没问题,但是就是WA,放弃 = = 第二天到 ...

  6. poj 1556 (Dijkstra + Geometry 线段相交)

    链接:http://poj.org/problem?id=1556 The Doors Time Limit: 1000MS   Memory Limit: 10000K Total Submissi ...

  7. POJ 3463 Sightseeing dijkstra

    题目链接:http://poj.org/problem?id=3463 题意:给定一个图,找最短路和比最短路多1的路的条数. 思路1:将次短路也当作一种"最短"的状态,去扩展状态. ...

  8. POJ 3268 (dijkstra算法)

    Silver Cow Party Description One cow from each of N farms (1 ≤ N ≤ 1000) conveniently numbered 1..N  ...

  9. Silver Cow Party POJ - 3268(dijkstra+反向交换)

    题意: 求X到某点来回路程的最短路的最大值. 模板更新中... 题目 One cow from each of N farms (1 ≤ N ≤ 1000) conveniently numbered ...

最新文章

  1. pytorch 指定卡1_[原创][深度][PyTorch] DDP系列第一篇:入门教程
  2. PHP mysql 事务处理实例
  3. 20135320赵瀚青LINUX第十八章读书笔记
  4. CCF 2016年题目题解 - Python
  5. 【小白学习keras教程】十一、Keras中文本处理Text preprocessing
  6. QT的QGraphicsView类的使用
  7. matlab arima模型定阶,ARIMA模型预测问题
  8. web目录字典_Metasploit -- 目录详解及常用命令
  9. 计算机二级web题目(1)--web基础
  10. JeeWx 捷微 2.1 发布,微信管家平台
  11. C# .NET 爬虫抓取京东商城所有商品分类
  12. 我是如何学习游戏引擎的?
  13. ISO8601标准时间格式
  14. 关于STAR法则简历
  15. 【Tools系列】在Win7系统上利用Simics安装Solaris 8 SPARC操作系统
  16. Excel表格数据导入到Oracle
  17. Android初级基础知识复习(十八) —— 自定义通知栏
  18. 电话交换机的作用,程控交换机的作用
  19. AutoJs学习-包名查看器
  20. 射频衰减器的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告

热门文章

  1. 【原创】运维的终点是开发~chatGPT告诉你真相
  2. 中华民族之拷问『天命』
  3. C++多线程(一)thread类
  4. 文件删除不了怎么办?
  5. 遗传算法入门:族群繁衍问题
  6. 邮件服务extmail
  7. Onion Browser
  8. [攻防世界]maze
  9. 变电所运维云平台在电力系统中的应用
  10. 台湾国立大学机器学习基石.听课笔记(第六讲): 一般化(举一反三)的理论