题目链接:http://www.lightoj.com/volume_showproblem.php?problem=1019

题目大意:Tanvir想从节点1的位置走到节点n的位置, 输出最短距离, 如果不存在输出"Impossible".

解题思路:dijkstra模版题

代码如下:

#include<bits/stdc++.h>
using namespace std;
typedef long long LL; const int INF = 0x3f3f3f3f;
const int N = ;
int dis[N];
vector<pair<int, int> > vec[N];
priority_queue<pair<int, int>, vector<pair<int, int> >, greater<pair<int, int> > >que; void dijkstra()
{
dis[] = ;
que.push(make_pair(, ));
while(!que.empty())
{
pair<int, int> p = que.top();
que.pop();
int v = p.second;
if(dis[v] < p.first)
continue; for(int i=; i<vec[v].size(); ++ i)
{
pair<int, int> t = vec[v][i];
if(dis[t.second] > dis[v] + t.first)
{
dis[t.second] = dis[v] + t.first;
que.push(make_pair(dis[t.second], t.second));
}
}
}
}
void solve(int cases)
{
for(int i=; i<=; ++ i)
{
dis[i] = INF;
vec[i].clear();
} while(!que.empty())
que.pop(); int n, m;
scanf("%d%d", &n, &m);
for(int i=; i<=m; ++ i)
{
int u, v, w;
scanf("%d%d%d", &u, &v, &w);
vec[u].push_back(make_pair(w, v));
vec[v].push_back(make_pair(w, u));
} dijkstra();
if(dis[n] == 0x3f3f3f3f)
printf("Case %d: Impossible\n", cases);
else
printf("Case %d: %d\n", cases, dis[n]);
} int main()
{
int T;
scanf("%d", &T);
for(int i=; i<=T; ++ i)
solve(i);
return ;
}

Light OJ 1019 - Brush (V)(图论-dijkstra)的更多相关文章

  1. light oj 1019【最短路模板】

    1019 - Brush (V) PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit: 32 MB Tanvir r ...

  2. Lightoj 1019 - Brush (V)

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

  3. Light OJ - 1026 - Critical Links(图论-Tarjan算法求无向图的桥数) - 带详细注释

     原题链接   无向连通图中,如果删除某边后,图变成不连通,则称该边为桥. 也可以先用Tajan()进行dfs算出所有点 的low和dfn值,并记录dfs过程中每个 点的父节点:然后再把所有点遍历一遍 ...

  4. Light OJ 1018 - Brush (IV)

    题目大意:     一个二维平面上有N个点,一把刷子,刷一次可以把一条线上的所有点都刷掉.问最少刷多少次,可以把全部的点都刷完 状态压缩DP, 用记忆化搜索来写, 需要有个优化不然会超时. ===== ...

  5. Light OJ 1017 - Brush (III)

    题目大意:     在一个二维平面上有N个点,散落在这个平面上.现在要清理这些点.有一个刷子刷子的宽度是w. 刷子上连着一根绳子,刷子可以水平的移动(在X轴方向上).他可以把刷子放在任何一个地方然后开 ...

  6. Light oj 1018 - Brush (IV) 状态压缩

    题目大意: 给出n个点的坐标,求至少画多少掉直线才能连接所有点. 题目思路:状态压缩 首先经行预处理,求出所有状态下,那些点不在该状态内 以任意两点为端点求出这条直线的状态 枚举所有状态,找出不在当前 ...

  7. Light OJ 1316 A Wedding Party 最短路+状态压缩DP

    题目来源:Light OJ 1316 1316 - A Wedding Party 题意:和HDU 4284 差点儿相同 有一些商店 从起点到终点在走过尽量多商店的情况下求最短路 思路:首先预处理每两 ...

  8. Light OJ 1429 Assassin`s Creed (II) BFS+缩点+最小路径覆盖

    题目来源:Light OJ 1429 Assassin`s Creed (II) 题意:最少几个人走全然图 能够反复走 有向图 思路:假设是DAG图而且每一个点不能反复走 那么就是裸的最小路径覆盖 如 ...

  9. Light OJ 1406 Assassin`s Creed 减少国家DP+支撑点甚至通缩+最小路径覆盖

    标题来源:problem=1406">Light OJ 1406 Assassin`s Creed 意甲冠军:向图 派出最少的人经过全部的城市 而且每一个人不能走别人走过的地方 思路: ...

随机推荐

  1. Nginx-Lua重定向系列

    Ningx Lua模块官方文档: 在Nginx中实现重定向可以通过rewrite指令,具体可参考<Nginx学习--http_rewrite_module的rewrite指令> 通过Lua ...

  2. 不同操作系统上屏蔽oracle的操作系统认证方式

    windows系统上>如果不想用户通过操作系统验证方式登录,可以修改 sqlnet.ora文件,把 SQLNET.AUTHENTICATION_SERVICES=NTS 前面加#注释掉就可以了. ...

  3. spring技术核心概念纪要

    一.背景 springframework 从最初的2.5版本发展至今,期间已经发生了非常多的修正及优化.许多新特性及模块的出现,使得整个框架体系显得越趋庞大,同时也带来了学习及理解上的困难. 本文阐述 ...

  4. 既使用maven又使用本地Jar包

    maven 使用本地包 lib jar包 依赖一个lib目录 解决方法: 1. 把本地的lib加入maven编译时的依赖路径 如下配置: <plugin> <artifactId&g ...

  5. Python error: ascii’/'utf-8′ codec can’t decode byte 0xb8 in position 50: ord

    字符串使用了费ascii编码的字符,也就是它代表的16进制的编码超过127. 解决这个问题可以使用下面的方法解决,其实就是设置默认的编码.python 2.x的默认编码是ascii,如果改为utf-8 ...

  6. 安全快速修改Mysql数据库名的5种方法

    1. RENAME DATABASE db_name TO new_db_name这个..这个语法在mysql 5.1.7中被添加进来,到了5.1.23又去掉了.据说有可能丢失数据.还是不要用的好.详 ...

  7. SQL Server DBA日常查询视图_数据库性能视图

    1.获取有关按平均CPU 时间排在最前面的五个查询的信息 total_worker_time/execution_count AS [Avg CPU Time], ), ((CASE qs.state ...

  8. 【python】删除1~100的素数

    def delPrime(x): if x==1: return True for y in range(2,x): if x%y==0: return True return False x1=ra ...

  9. Delphi下16进制位图数据转位图

    如果我们在Form中拖入一个Image控件,并设置好picture后,Alt+F12就可以看到Form的源代码中已经将图片转成了16进制字符串,如下: ? 1 2 3 4 5 6 7 8 9 10 1 ...

  10. python学习-day15:局部变量与全局变量、嵌套函数、递归

    一.全局变量与局部变量 在子程序中定义的变量称为局部变量, 在程序的一开始定义的变量称为全局变量. 全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序.当全局变量与局部变量同名时:在定义局部 ...