lightoj 1019
裸的最短路 dijkstra
#include<cstdio>
#include<string>
#include<cstring>
#include<iostream>
using namespace std;
const int MAXN = 101;
const int INF = 0x3f3f3f3f;
int dist[MAXN], vis[MAXN], mat[MAXN][MAXN];
int main(){
int t, u, v, w, n, m, CASE(0);
scanf("%d", &t);
while(t--){
scanf("%d%d", &n, &m);
memset(mat, 0x3f, sizeof mat);
memset(dist, 0x3f, sizeof dist);
for(int i = 0;i < m;i ++){
scanf("%d%d%d", &u, &v, &w);
mat[u][v] = mat[v][u] = min(mat[u][v], w);
}
dist[1] = 0;
memset(vis, 0, sizeof vis);
vis[1] = 1;
for(int i = 1;i <= n;i ++) if(mat[1][i] != INF) dist[i] = mat[1][i];
for(int i = 0;i < n;i ++){
int minn(INF), k(-1);
for(int j = 1;j <= n;j ++){
if(!vis[j] && minn > dist[j]){
minn = dist[j];
k = j;
} }
if(k == -1) break;
vis[k] = 1;
for(int j = 1;j <= n;j ++){
if(!vis[j] && mat[k][j] + dist[k] < dist[j]) dist[j] = mat[k][j] + dist[k];
}
}
printf("Case %d: ", ++CASE);
if(dist[n] == INF) printf("Impossible\n");
else printf("%d\n", dist[n]);
}
return 0;
}
lightoj 1019的更多相关文章
- Lightoj 1019 - Brush (V)
算出从点1到点n的最短路径. /* *********************************************** Author :guanjun Created Time :2016 ...
- Light OJ 1019 - Brush (V)(图论-dijkstra)
题目链接:http://www.lightoj.com/volume_showproblem.php?problem=1019 题目大意:Tanvir想从节点1的位置走到节点n的位置, 输出最短距离, ...
- 区间DP LightOJ 1422 Halloween Costumes
http://lightoj.com/volume_showproblem.php?problem=1422 做的第一道区间DP的题目,试水. 参考解题报告: http://www.cnblogs.c ...
- LightOj 1298 - One Theorem, One Year(DP + 欧拉)
题目链接:http://lightoj.com/volume_showproblem.php?problem=1298 题意:给你两个数 n, p,表示一个数是由前 k 个素数组成的,共有 n 个素数 ...
- 1019: [SHOI2008]汉诺塔
1019: [SHOI2008]汉诺塔 Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 1495 Solved: 916[Submit][Status] ...
- acm之poj题库1019方法
认识了几个师弟,一直总想把自己的经验表达出来一些,让后面的人在更年轻的时候,认识到方向.努力. 昨天忽然想起自己在大学时候做了几天的acm,终于也没能坚持.然后就感觉带师弟们做下acm题目还是很不错. ...
- 1214 - Large Division -- LightOj(大数取余)
http://lightoj.com/volume_showproblem.php?problem=1214 这就是一道简单的大数取余. 还想还用到了同余定理: 所谓的同余,顾名思义,就是许多的数被一 ...
- LightOJ Beginners Problems 部分题解
相关代码请戳 https://coding.net/u/tiny656/p/LightOJ/git 1006 Hex-a-bonacci. 用数组模拟记录结果,注意取模 1008 Fibsieve's ...
- LightOJ 1341 唯一分解定理
Aladdin and the Flying Carpet Time Limit:3000MS Memory Limit:32768KB 64bit IO Format:%lld &a ...
随机推荐
- visio
为您的产品密钥: 7DNWX-MRX4G-QCGX2-DG6BP-DC8RP http://technet.microsoft.com/zh-cn/evalcenter/hh973399.aspx ...
- ubuntu系统使用快捷键打开终端方式总结
ctrl + alt + T 三键齐下打开虚拟终端 ctrl + alt + F1 (~F6)打开系统终端ctrl + alt + F7 返回图形界面都可以使用exit命令关闭, 不同的是虚拟终端ex ...
- (转)深入理解SP、LR和PC
网址:http://blog.csdn.net/zhou1232006/article/details/6149548 深入理解ARM的这三个寄存器,对编程以及操作系统的移植都有很大的裨益. 1.堆栈 ...
- 使用Yeoman搭建 AngularJS 应用 (5) —— 让我们搭建一个网页应用
原文地址:http://yeoman.io/codelab/scaffold-app.html 基架 (Scaffolding) 在Yeoman中的意思是为基于你特殊的配置需求,为网站程序生成文件的工 ...
- 360随身wifi怎样购买?360随身wifi怎样预约?
---恢复内容开始--- 360随身wifi怎样购买 想要购买360随身Wifi,可以登录360随身Wifi的官网wifi.360.cn,或者直接登陆京东商城进行购买,售价为19.9元,分黑.白两色. ...
- Mybatis 示例之 SelectKey(转)
参考:http://blog.csdn.net/isea533/article/details/21153791 SelectKey在Mybatis中是为了解决Insert数据时不支持主键自动生成的问 ...
- python datetime笔记
python datetime笔记 http://mint-green.diandian.com/post/2011-09-09/4892024 获取当前时间,并通过字符串输出. 格式为:%Y-%m- ...
- HDU4548+素数
简单题. /* */ #include<stdio.h> #include<string.h> #include<stdlib.h> #include<alg ...
- c++ 孟岩推荐 书籍
c++ primer 中文版本 是 教程+参考书 扛梁之作c++ 标准程序库 对于c++熟手来说更为快捷effective c++ 永远是初学者必读的,但是c++11标准后的第四版,还未发布c++ ...
- 【mysql的编程专题⑥】视图
视图是表的一个映射,是一张虚表,在结构上视图和普通的表没什么区别,一样可以用sql语句来增删改查; 视图创建后是一直存在数据库内 操作 创建视图 语法 CREATE [ALGORITHM]={UNDE ...