【lightoj-1002】Country Roads(dijkstra变形)
light1002:传送门
【题目大意】
n个点m条边,给一个源点,找出源点到其他点的‘最短路’
定义:找出每条通路中最大的cost,这些最大的cost中找出一个最小的即为‘最短路’,dijkstra变形。dis[i]为s->i的‘最短路’
#include<bits/stdc++.h>
int mp[][],dis[],vis[];
using namespace std;
int n;
void dij(int s)
{
int i,j,k;
for(i=; i<n; i++)
{
dis[i]=mp[s][i];
vis[i]=;
}
vis[s]=;
for(j=; j<n; j++)
{
int min1=1e9;
for(i=; i<n; i++)
{
if(min1>dis[i]&&!vis[i])
{
min1=dis[i];
k=i;
}
}
vis[k]=;
for(i=; i<n; i++)
{
if(!vis[i]&&mp[k][i]<1e9)
{
dis[i]=min(dis[i],max(dis[k],mp[k][i]));
}
}
}
}
int main()
{
int t,u,v,w,i,j;
cin>>t;
for(int co=; co<=t; co++)
{
int m;
scanf("%d%d",&n,&m);
for(i=; i<n; i++)
for(j=; j<n; j++)
{
if(i==j)
mp[i][j]=;
else
mp[i][j]=1e9;
}
while(m--)
{
scanf("%d%d%d",&u,&v,&w);
if(mp[u][v]>w)
mp[u][v]=mp[v][u]=w;
}
int s;
cin>>s;
dij(s);
printf("Case %d:\n",co);
for(i=; i<n; i++)
{
if(dis[i]==1e9)
puts("Impossible");
else
printf("%d\n",dis[i]);
}
}
return ;
}
【lightoj-1002】Country Roads(dijkstra变形)的更多相关文章
- Light oj 1002 Country Roads (Dijkstra)
题目连接: http://www.lightoj.com/volume_showproblem.php?problem=1002 题目描述: 有n个城市,从0到n-1开始编号,n个城市之间有m条边,中 ...
- Lightoj 1002 - Country Roads(prim算法)
I am going to my home. There are many cities and many bi-directional roads between them. The cities ...
- 1002 - Country Roads(light oj)
1002 - Country Roads I am going to my home. There are many cities and many bi-directional roads betw ...
- Light oj-1002 - Country Roads,迪杰斯特拉变形,不错不错~~
1002 - Co ...
- NYOJ 1248 海岛争霸(Dijkstra变形——最短路径最大权值)
题目链接: http://acm.nyist.net/JudgeOnline/problem.php?pid=1248 描述 神秘的海洋,惊险的探险之路,打捞海底宝藏,激烈的海战,海盗劫富等等.加勒比 ...
- POJ.1797 Heavy Transportation (Dijkstra变形)
POJ.1797 Heavy Transportation (Dijkstra变形) 题意分析 给出n个点,m条边的城市网络,其中 x y d 代表由x到y(或由y到x)的公路所能承受的最大重量为d, ...
- Country roads take me home, to the place I belong.
Country roads take me home, to the place I belong.故乡的路,带我回家吧,回到我期盼已久的归宿.
- ROADS+dijkstra的灵活运用+POJ
ROADS Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 10742 Accepted: 3949 Descriptio ...
- POJ 2253 Frogger(dijkstra变形)
http://poj.org/problem?id=2253 题意: 有两只青蛙A和B,现在青蛙A要跳到青蛙B的石头上,中间有许多石头可以让青蛙A弹跳.给出所有石头的坐标点,求出在所有通路中青蛙需要跳 ...
随机推荐
- ufs emmc
UFS 2.0闪存标准使用的是串行界面,很像PATA.SATA的转换.并且它支持全双工运行,可同时读写操作,还支持指令队列. eMMC是半双工,读写必须分开执行,指令也是打包的. 而且UFS芯片不仅传 ...
- mysql-5.6.22的安装步骤
一.环境与下载地址: 1.系统下载地址: http://mirrors.sohu.com/centos/6.6/isos/x86_64/CentOS-6.6-x86_64-bin-DVD1.iso 2 ...
- 《深度学习》Textbook第十章学习笔记
深度学习 第10章 序列建模:循环和递归网络 1.循环神经网络介绍 相比卷积神经网络:专门用于处理网格化的数据(如图像),可以很容易扩展到更具有很大宽度和高度的图像,以及处理大小可变的图像: 循环神经 ...
- Python中 and,or 的计算规则
一.纯 and 和 or 语句 1. 在纯and语句中,如果每一个表达式都不是假的话,那么返回最后一个,因为需要一直匹配直到最后一个.如果有一个是假,那么返回假2. 在纯or语句中,只要有一个表达式不 ...
- CRM——插件流程回顾
1. Django项目启动 自动加载文件 制作启动文件 1. 注册strak 在apps.py 类里面增加如下 def ready(self): from django.utils.module_lo ...
- js 添加css属性
$(".active").css('border','1px solid #ddd')curLi.css('border','2px solid red')curLi.css('b ...
- Python(函数式编程)
函数是Python内建支持的一种封装,我们通过把大段代码拆成函数,通过一层一层的函数调用,就可以把复杂任务分解成简单的任务,这种分解可以称之为面向过程的程序设计.函数就是面向过程的程序设计的基本单元. ...
- Servlet Rest
http://www.blogjava.net/yongboy/archive/2010/10/01/333609.html
- c语言单元测试框架--CuTest
1.简介 CuTest是一款微小的C语言单元测试框,是我迄今为止见到的最简洁的测试框架之一,只有2个文件,CuTest.c和CuTest.h,全部代码加起来不到一千行.麻雀虽小,五脏俱全,测试的构建. ...
- Asp.Net Web API 2 官网菜鸟学习系列导航
链接地址: http://www.cnblogs.com/aehyok/p/3446289.html