裸的最短路 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的更多相关文章

  1. Lightoj 1019 - Brush (V)

    算出从点1到点n的最短路径. /* *********************************************** Author :guanjun Created Time :2016 ...

  2. Light OJ 1019 - Brush (V)(图论-dijkstra)

    题目链接:http://www.lightoj.com/volume_showproblem.php?problem=1019 题目大意:Tanvir想从节点1的位置走到节点n的位置, 输出最短距离, ...

  3. 区间DP LightOJ 1422 Halloween Costumes

    http://lightoj.com/volume_showproblem.php?problem=1422 做的第一道区间DP的题目,试水. 参考解题报告: http://www.cnblogs.c ...

  4. LightOj 1298 - One Theorem, One Year(DP + 欧拉)

    题目链接:http://lightoj.com/volume_showproblem.php?problem=1298 题意:给你两个数 n, p,表示一个数是由前 k 个素数组成的,共有 n 个素数 ...

  5. 1019: [SHOI2008]汉诺塔

    1019: [SHOI2008]汉诺塔 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 1495  Solved: 916[Submit][Status] ...

  6. acm之poj题库1019方法

    认识了几个师弟,一直总想把自己的经验表达出来一些,让后面的人在更年轻的时候,认识到方向.努力. 昨天忽然想起自己在大学时候做了几天的acm,终于也没能坚持.然后就感觉带师弟们做下acm题目还是很不错. ...

  7. 1214 - Large Division -- LightOj(大数取余)

    http://lightoj.com/volume_showproblem.php?problem=1214 这就是一道简单的大数取余. 还想还用到了同余定理: 所谓的同余,顾名思义,就是许多的数被一 ...

  8. LightOJ Beginners Problems 部分题解

    相关代码请戳 https://coding.net/u/tiny656/p/LightOJ/git 1006 Hex-a-bonacci. 用数组模拟记录结果,注意取模 1008 Fibsieve's ...

  9. LightOJ 1341 唯一分解定理

    Aladdin and the Flying Carpet Time Limit:3000MS     Memory Limit:32768KB     64bit IO Format:%lld &a ...

随机推荐

  1. 【BZOJ 1053】[HAOI2007]反素数ant

    Description 对于任何正整数x,其约数的个数记作g(x).例如g(1)=1.g(6)=4.如果某个正整数x满足:g(x)>g(i) 0<i<x,则称x为反质数.例如,整数1 ...

  2. 0ffice365 Calendar API

    Calendar REST API in Office 365 APIs Preview http://msdn.microsoft.com/EN-US/library/office/dn792114 ...

  3. 当安装好oracle后关机后, 电脑重启发现登录不了解决

  4. eclipse html插件的下载和安装

    需求:需要在eclipse里面编辑html和jsp,语法高亮和语法提示,自动补全等. 1.下载GEF(依赖包): http://www.eclipse.org/downloads/download.p ...

  5. Netty多线程处理机制

    技术点描述 本文主要研究NioServerSocketChannelFactory类和NioDatagramChannelFactory类, 以及这两个类的各自作用. 由于基于pipelineFact ...

  6. linux du 与 df 命令

    du 命令:显示每个文件和目录的磁盘使用空间 命令格式:du [选项][文件] -k或--kilobytes  以KB(1024bytes)为单位输出. -m或--megabytes  以MB为单位输 ...

  7. 使用Yeoman搭建 AngularJS 应用 (10) —— 让我们搭建一个网页应用

    原文地址:http://yeoman.io/codelab/write-unit-tests.html 对于不熟悉的Karma的人来说,这是JavaScript测试框架,这个Angular的生成器包含 ...

  8. PHPCMS搭建wap手机网站

    PHPCMS搭建PC端网站比较方便,但是在wap手机端方面却不怎么实用,而且自带的手机建站感觉不是很好,而且模版不好控制,现在对其进行修改,手机建站个人感觉比较方便 首先在phpcms/libs/fu ...

  9. hibernate一对一双向外键关联

    一对一双向外键关联:双方都持有对方的外键关联关系. 主控方和一对一单向外键关联的情况是一样的,主要的差异表现为,被空方需要添加: @OneToOne(mappedBy="card" ...

  10. 如何保护 .NET 应用的安全?

    自从 Web 应用能给访问者提供丰富的内容之后,黑客们就把目光转向任何他们能够破坏,损毁,欺骗的漏洞.通过网络浏览器提供的应用越来越多,网络罪犯们可以利用的漏洞数量也呈指数增长起来. 大多数企业都依赖 ...