题目大意

一个有向图,求第A个点到第b个点的最小的长度。

思路

数据很弱,直接floyed就可以过了,注意预处理。

代码

#include<cstdio>
#define INF 2147483648
#define r(i,a,b) for (int i=a;i<=b;i++)
using namespace std;int n,c,d,k;
int l[101][101],e;
int min(int x,int y){return x<y?x:y;}
int max(int x,int y){return x>y?x:y;}
void read(int &f)
{f=0;char c;bool d=0;while (c=getchar(),c<'0'||c>'9') if (c=='-') d=1;f=f*10+c-48;while (c=getchar(),c>='0'&&c<='9') f=f*10+c-48;if (d) f*=-1;
}
void write(int x)
{if (x<0) {putchar('-');x=-x;}if (!x) {putchar(48);return;}if (!(x/10)){putchar(x%10+48);return;}write(x/10);putchar(x%10+48);
}
void LRZ()
{read(n);read(c);read(d);r(i,0,100)r(j,0,100) l[i][j]=l[j][i]=INF/4;r(i,1,n){read(k);r(j,1,k) {read(e);if (j==1) l[i][e]=false;else l[i][e]=1;}//输入}
}void print();
void work()
{r(k,1,n)r(i,1,n)r(j,1,n)if (i!=j&&j!=k&&k!=i)l[i][j]=min(l[i][j],l[i][k]+l[k][j]);//floyedprint();
}
void print()
{if (l[c][d]==INF/4) write(-1);else write(l[c][d]);
}
int main()
{LRZ();work();
}

洛谷 1346 电车相关推荐

  1. 洛谷1346 电车

    题目描述 在一个神奇的小镇上有着一个特别的电车网络,它由一些路口和轨道组成,每个路口都连接着若干个轨道,每个轨道都通向一个路口(不排除有的观光轨道转一圈后返回路口的可能).在每个路口,都有一个开关决定 ...

  2. 洛谷-1346 电车

    题目描述 在一个神奇的小镇上有着一个特别的电车网络,它由一些路口和轨道组成,每个路口都连接着若干个轨道,每个轨道都通向一个路口(不排除有的观光轨道转一圈后返回路口的可能).在每个路口,都有一个开关决定 ...

  3. 洛谷 P1346 电车 dijkstra

    题目链接:https://www.luogu.org/problemnew/show/P1346 思路: 这是一道隐藏的最短路问题 把每一个车站看成一个点,将这个车站相连的第一个车站建立一条权为0的边 ...

  4. 洛谷P1346 电车

    P1346 电车 题目描述 在一个神奇的小镇上有着一个特别的电车网络,它由一些路口和轨道组成,每个路口都连接着若干个轨道,每个轨道都通向一个路口(不排除有的观光轨道转一圈后返回路口的可能).在每个路口 ...

  5. 洛谷P1346 电车(双端队列BFS)

    [题目描述] 在一个神奇的小镇上有着一个特别的电车网络,它由一些路口和轨道组成,每个路口都连接着若干个轨道,每个轨道都通向一个路口(不排除有的观光轨道转一圈后返回路口的可能).在每个路口,都有一个开关 ...

  6. 洛谷 P1346 电车

    最重要的事情是读题! 切换开关的状态后,它会自动复原我也不知道这是什么鬼开关 把每个节点看作是点,轨道看作是边.转换一次开关状态看作边权为1.由于题中n的范围是100,所以可以用最暴力好写的Floyd ...

  7. 洛谷or牛客数据结构+算法

    栈思想:先进后出 tips:栈里能放下标就放下标 (牛客)小c的计事本(直接用stack可以简化代码,且不会被自己绕晕,当时没意识到) (牛客)吐泡泡(没意识到用栈),(牛客)好串 1.后缀表达式(栈 ...

  8. 洛谷-题解 P2672 【推销员】

    独门思路!链表加优先队列! 这题一望,贪心是跑不掉了,但是我贪心并不好,所以想到了一个复杂一些但思路更保稳的做法 思路: 1 因为是离线操作,所以我们可以倒着求,先求x=n的情况,因为那样直接就知道了 ...

  9. 洛谷 P1142 轰炸

    洛谷 P1142 轰炸 题目描述 "我该怎么办?"飞行员klux向你求助. 事实上,klux面对的是一个很简单的问题,但是他实在太菜了. klux要想轰炸某个区域内的一些地方,它们 ...

最新文章

  1. 英语计算机作文初中.,初中英语作文:电脑游戏
  2. 进阶必备:素数筛法(欧拉,埃氏筛法)
  3. 微服务架构中的雪崩问题产生原因及解决办法
  4. leetcode1103. 分糖果 II 该模拟就模拟,别老想着优化
  5. python用户登录_python用户登录系统
  6. 注解Annotation的IoC:从@Autowired到@Component
  7. C/C++ 去掉字符串首位的空格字符
  8. 【廖雪峰官方网站/Java教程】设计模式(二)
  9. Allegro画焊盘
  10. graphviz安装及使用
  11. python长沙_python 长沙
  12. SIGKDD2021 | 淘宝搜索向量化召回实践
  13. 台积电多人离职:老婆受不了
  14. ios 博客及论坛整理
  15. test1asfd 按时收费的水电费阿萨德阿斯蒂芬啊
  16. OpenMV自学笔记
  17. TensorFlow及深度学习相关资料积累汇总【不定期更新】
  18. 人工智能行业,就业方向和研究领域的简单介绍
  19. mysql中limit用法_MYSQL中LIMIT用法?
  20. 如何进行TDD信号分析?

热门文章

  1. 什么是shuffle?为什么shuffle?什么算子shuffle?
  2. kohya_ss GUI安装教程
  3. Bootstrap Nav
  4. 为什么Git 比 SVN 好
  5. Android版-微信APP支付
  6. Mac更改默认Finder访达窗口大小的方法
  7. Docker搭建百度贴吧自动签到(Tieba-Cloud-Sign)
  8. 跨平台应用开发进阶(五十八):短链基本工作原理与实现方案
  9. Linkage mapper 重大事故——文末问卷链接咨询
  10. js上传视频方法及监控进度