(ssl 1346)电车
2018-01-13 14:41
155 查看
因为第一个数字不用切换开关,so 后面的权值为1
所以
所以
spfa start
#include <cstdio> using namespace std; struct lo{ int u,v,w,next; }a[10001]; int m,n,l,r,t,q,x,d[101],list[101],ls[101]; bool v[101]; void add(int i,int x,bool go){ a[++m].u=i; a[m].v=x; a[m].w=go; a[m].next=ls[a[m].u]; ls[a[m].u]=m; } void spfa(int st){ int head=0,tail=1; for (int i=1;i<=n;i++) d[i]=2147483647; list[1]=st; v[st]=1; d[st]=0; do{ head++; if (head>n) head=1; t=ls[list[head]]; while (t>0){ if (d[a[t].u]+a[t].w<d[a[t].v]){ d[a[t].v]=d[a[t].u]+a[t].w; if (!v[a[t].v]){ v[a[t].v]=1; tail++; if (tail>n) tail=1; list[tail]=a[t].v; } } t=a[t].next; } v[list[head]]=0; }while (head!=tail); if (d[r]!=2147483647) printf("%d",d[r]); else printf("-1"); } int main(){ scanf("%d%d%d",&n,&l,&r); for (int i=1;i<=n;i++){ scanf("%d",&q); for (int j=1;j<=q;j++) scanf("%d",&x),add(i,x,(j>1)); } spfa(l); }
相关文章推荐
- 洛谷 1346 电车
- 【洛谷1346】电车 最短路
- 洛谷 1346 电车
- 洛谷 1346_电车_spfa
- 洛谷 1346 电车
- 电车 洛谷1346 dp
- 洛谷 1346 电车
- [洛谷1346]电车
- 电车_洛谷1346_最短路
- 洛谷 1346 电车
- 洛谷1346 电车 最短路
- 洛谷 1346 电车 spfa
- 最短路基基基础模板题 (洛谷1346 电车)
- hMailServer SSL 配置
- 传输层安全协议抓包分析之SSL/TLS
- Configure SSL server and client PSE
- Visual Studio开启SSL的支持
- 谷歌浏览器chrome设置特定网页使用Https(ssl)访问
- Java安全通信:HTTPS与SSL