博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ 1847 Tram 最短路
阅读量:5240 次
发布时间:2019-06-14

本文共 963 字,大约阅读时间需要 3 分钟。

#include 
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;const int INF = 0x3fffffff;const int V = 200;int main(){ //freopen("in.txt","r",stdin); //freopen("out.txt","w",stdout); int n,a,b,i,j,k; int dis[V][V]; cin>>n>>a>>b; for(i=1;i<=n;i++) { for(j=1;j<=n;j++) { if(i==j) dis[i][j]=0; else dis[i][j]=INF; } } for(i=1;i<=n;i++) { int m; cin>>m; for(j=1;j<=m;j++) { int p ; cin>>p; if(j==1) dis[i][p]=0; else dis[i][p]=1; } } for(i=1;i<=n;i++) for(j=1;j<=n;j++) for(k=1;k<=n;k++) if(dis[j][k] > dis[j][i] + dis[i][k] ) dis[j][k] = dis[j][i] + dis[i][k]; if(dis[a][b]==INF) cout<<"-1"<

直接贴代码了...就是一个水题最短路,用多源也不会有事

把每个不用按开关的点的权值(也就是i+1行的第一个权值)赋为0,其他的赋为1

初始化的时候注意自己到自己的情况为0,其余的为INF

转载于:https://www.cnblogs.com/Felix-F/archive/2012/08/19/3223653.html

你可能感兴趣的文章
android学习笔记43——图形图像处理3——Path
查看>>
Winfrom DataGridView中使用Tooltip
查看>>
pyphon 使用setMouseCallback
查看>>
Oracle 隐式游标
查看>>
【转】Mac环境下svn命令行的使用
查看>>
node --save可以省略掉手动修改package.json的步骤
查看>>
linux 查看当前系统下的所有用户的名称
查看>>
18.4.2调用方法
查看>>
微信小程序相关资料整理
查看>>
Controller返回DataTable给页面
查看>>
gitlab安装和迁移
查看>>
SVN服务器从windows迁移至Linux
查看>>
HDU 1372 Knight Moves 广搜
查看>>
【★】自制网络心理需求大排名!
查看>>
Linux中如何解压iso类型文件
查看>>
写给自己的 SOA 和 RPC 理解
查看>>
opengl绘制三维人物luweiqi
查看>>
poj2236 Wireless Network(并查集)
查看>>
linux.打包与压缩
查看>>
spring集成quartz实现定时任务
查看>>