luogu_1346 电车-程序员宅基地

#include <iostream>
#include <cstdio>
#include <queue>
using namespace std;
const int maxn=110;
const int INF=1<<30;
struct edge{int v,t;};
int n,s,t,d[maxn];
queue<int> q;
vector<edge> G[maxn];
bool vis[maxn];

void spfa(){
	for(int i=1;i<=n;i++)d[i]=INF;
	q.push(s); d[s]=0; vis[s]=1;
	while(!q.empty()){
		int u=q.front(); q.pop(); vis[u]=0;
		for(int i=0;i<G[u].size();i++){
			int v=G[u][i].v,k=G[u][i].t;
			if(d[v]>d[u]+k){
				d[v]=d[u]+k;
				if(!vis[v]){q.push(v); vis[v]=1;}
			}
		}
	}
}

int main(){
	scanf("%d%d%d",&n,&s,&t);
	for(int i=1;i<=n;i++){
		int m;
		scanf("%d",&m);
		for(int j=1;j<=m;j++){
			int v;
			scanf("%d",&v);
			if(j==1)G[i].push_back((edge){v,0});
			else G[i].push_back((edge){v,1});
		}
	}
	spfa();
	if(d[t]==INF)puts("-1");
	else printf("%d\n",d[t]);
	return 0;
}

  

转载于:https://www.cnblogs.com/codetogether/p/7571383.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_30889885/article/details/96488151

智能推荐

ENC28J60 驱动开发要点_enc28j60 esp32驱动-程序员宅基地

文章浏览阅读2.2k次。摘要:在嵌入式系统中,以太网控制器通常也是研究热点之一,MicroChip公司的ENC28J60在嵌入式系统中应用价值较高,该芯片集成了MAC控制器和PHY,使用SPI接口,适合在引脚资源比较紧张的嵌入式系统中加入以太网连接功能,本文主要介绍了MicroChip公司的ENC28J60控制器的初始化及其编程相关的注意和要点,并针对开发中可能遇到的一些问题进行了探讨。关键字: ENC28J60编程_enc28j60 esp32驱动

element ui 表格中的字太长,想要把多余的字变成...解决方法,一个属性即可_element ui table文字变多转换...-程序员宅基地

文章浏览阅读3.4k次,点赞5次,收藏4次。问题描述如下相应代码段 <el-table style="width: 100%" height="330px" :data="tableData" border stripe> <el-table-column align="center" type="index" label="#"></el-table-column> <el-table-column align="center" label="社团编号" prop="a_element ui table文字变多转换...

详解Java泛型机制-程序员宅基地

文章浏览阅读598次,点赞29次,收藏13次。分享一份自己整理好的Java面试手册,还有一些面试题pdf。

DOCTYPE的作用,常见声明,删除<!DOCTYPE>发生什么?严格模式和混杂模式_<!doctype>-程序员宅基地

文章浏览阅读2.4k次,点赞2次,收藏10次。在HTML文档首部往往会有这样一行代码:<!DOCTYPE html>由于常见而且一般可能自己使用编辑器设置了默认模板(包含这一句代码),可能很多时候我们会忽略它的存在,不知道它的作用以及重要性。实际上,这行代码是一个声明, 其作用是告诉浏览器按照哪一种HTML文档规范解析HTML文档。Web 世界中存在许多不同的文档。只有了解文档的类型,浏览器才能正确地显示文档。HTML 也有多个不同的版本,只有完全明白页面中使用的确切 HTML 版本,浏览器才能完全正确地显示出 HTML 页面。H_

Java中使用FFmpeg进行视频图像的人脸检测_java 视频识别人-程序员宅基地

文章浏览阅读106次。在Java中,我们可以使用FFmpeg库来进行视频图像的处理和分析。其中一个常见的应用是人脸检测,通过识别视频中的人脸,我们可以进行人脸识别、情感分析等各种应用。总结起来,本文介绍了如何在Java中使用FFmpeg进行视频图像的人脸检测。通过使用外部进程和FFmpeg命令,我们可以方便地在Java应用程序中集成人脸检测功能。安装和配置FFmpeg的详细步骤超出了本文的范围,您可以在FFmpeg的官方网站上找到相关的文档和指南。然后,我们构建了一个FFmpeg的命令字符串,该命令使用了FFmpeg的。_java 视频识别人

时差问题-程序员宅基地

文章浏览阅读567次。Problem4:时差问题。一个地方和北京相差17个小时(比北京慢17h),输入北京时间,输出当地时间;输入格式:年 月 日 时 分,输出格式一样。此题注意输出格式控制(后四项数字位数为两位)#include &lt;iostream&gt;#include &lt;iomanip&gt;using namespace std;bool isLeap(int year);...

随便推点

【Trino实战】Hive connector功能性文档_trino文档-程序员宅基地

文章浏览阅读1k次。Hive connector 相关_trino文档

保姆级爬虫无水印视频大全 最新版java+selenium_java爬取抖音视频-程序员宅基地

文章浏览阅读1k次,点赞8次,收藏8次。抖音、快手视频无水印爬虫,以及通过请求网页获取html页面数据_java爬取抖音视频

ruby on rails win下安装-程序员宅基地

文章浏览阅读4k次。ruby on rails win下安装发现新的技术ruby on rails,关于他一些介绍就不说了,我说下今天的我的安装过程!首先是下载http://rubyforge.org/projects/rubyinstaller/我弄的是最新的!然后安装,跟安装其他软件一样本地安装没学会,需要下载gemhttp://rubyforge.org/frs/?group_id=126还要下载一个配套的ap

Python Challenge笔记 - 1-程序员宅基地

文章浏览阅读93次。http://www.pythonchallenge.com/pc/def/map.html图片中提示 K->M O->Q E->G下面给了一段话 看起来是加密过了的 根据提示可以知道 每个字母后移了2位使用string和maketrans可以解决此问题解密出来的文字提示使用这个规律解密地址 将map解密后得到 ocr即下一关地址http://www.pythonchall..._maketrans(l,l[2:]+l[:2])

markdown合并单元格、设置单元格背景颜色和字体颜色_markdown表格颜色-程序员宅基地

文章浏览阅读2.6k次。markdown 编辑器通过HTML实现:设置单元格背景颜色、设置字体颜色和合并单元格的两种方式_markdown表格颜色

【Halcon轮廓提取】-程序员宅基地

文章浏览阅读1.6w次,点赞13次,收藏137次。edges_image算子:edges_image(Image : ImaAmp, ImaDir : Filter, Alpha, NMS, Low, High : )功能:使用Deriche, Lanser, Shen或者Canny 滤波器进行边缘提取参数:Image (input_object) : 单通道图像(数组)ImaAmp (output_object):多通道图像(数组),边缘振幅或梯度大小图像。ImaAmp输出变量,说的是edges的amplitude,其实就是梯度的大小(因为边缘_halcon轮廓提取