#include<iostream>
#include<algorithm>
#include<queue>
using namespace std;
#define INF 1e8
;
][];         //存所需时间
void f()
{
    ],num,s,minn=INF;
    ];           //存时间
    priority_queue<int,vector<int>,greater<int> >v;  //用优先队列,从小到大
    x++;
    ;i<=n;i++)         //初始化起点0到其余路口的时间,都设为最大值
        g[][i]=INF;
    scanf("%d%d",&num,&s);    //num路口编号  s警车数目
    ;i<=n;i++)         //遍历每个路口
    {
        vis[i]=;             //每个路口都标记为未访问的状态
        d[i]=INF;             //一开始的时间都是最大值
    }//初始化
    ;i<=s;i++)         //输入每个警车的位置
    {
        scanf("%d",&a);
        g[][a]=;
    }
    d[]=;
    v.push();
    while(!v.empty())
    {
        a=v.top();
        v.pop();
        )
            continue;
        vis[a]=;
        ;i<=n;i++)
        {
            if(d[i]>d[a]+g[a][i])
            {
                d[i]=d[a]+g[a][i];
                v.push(i);
            }
        }
    }
    cout<<"Scenario "<<x<<":"<<endl;
    if(minn==d[num])
        cout<<"Impossible."<<endl;
    else printf("%.2lf\n",d[num]);
    cout<<"\n";
}
int main()
{
        int i,j,k,s,e;
        double t;
        scanf("%d%d%d",&n,&m,&k);  //n路口的数目 m马路条数 k案发次数
        ;i<=n;i++)
        {
            ;j<=n;j++)
                g[i][j]=INF;       //存i路口到j路口的时间
            g[i][i]=;             //自己到自己的时间为0
        }
        ;i<m;i++)
        {
            scanf("%d%d%lf",&s,&e,&t);  //s起点 e终点 t所需时间
            if(t<g[s][e])
                g[s][e]=t;
        }
        ;i<=k;i++)
        f();
}

【TOJ 3692】紧急援救的更多相关文章

  1. RQNOJ 34 紧急援救

    题目描述 话说2007年8月5日,Mike博士神秘失踪了,最后发现是被外星人绑架了,幸好外星人目前还是在地球上活动,并且知道外星人不了解地球,幸好,Milk博士身上有无线信号发送装置,我们终于确定了他 ...

  2. PAT 甲级1003 Emergency (25)(25 分)(Dikjstra,也可以自己到自己!)

    As an emergency rescue team leader of a city, you are given a special map of your country. The map s ...

  3. IoT之车联网

    一. 背景 这是一个笔者在实习公司策划的关于车联网的小项目,也是笔者参加某竞赛的作品<基于云平台的车内滞留儿童状况监测与处理>,本项目旨在为因各种原因导致儿童滞留车内热死.闷死的社会性事件 ...

  4. Git Stash紧急处理问题,需要切分支

    在开发过程中,大家都遇到过bug,并且有些bug是需要紧急修复的. 当开发人员遇到这样的问题时,首先想到的是我新切一个分支,把它修复了,再合并到master上. 当时问题来了,你当前正在开发的分支上面 ...

  5. YourSQLDba将数据库置于紧急模式的原因浅析

    从SQL SERVER 2000 上迁移了一个数据库到SQL SERVER 2008 R2上,暂且用DataBaseName代替迁移的真实的数据库名(后面的资料也会将数据库真实的名字用DataBase ...

  6. TOJ 2776 CD Making

    TOJ 2776题目链接http://acm.tju.edu.cn/toj/showp2776.html 这题其实就是考虑的周全性...  贡献了好几次WA, 后来想了半天才知道哪里有遗漏.最大的问题 ...

  7. Android之Dialer之紧急号码

    Android之Dialer之紧急号码 e over any other (e.g. supplementary service related) number analysis. a) 112 an ...

  8. AC日记——紧急措施 openjudge 1.7 22

    22:紧急措施 总时间限制:  1000ms 内存限制:  65536kB 描述 近日,一些热门网站遭受黑客入侵,这些网站的账号.密码及email的数据惨遭泄露.你在这些网站上注册若干账号(使用的用户 ...

  9. 开发一个简单实用的android紧急求助软件

    之前女朋友一个人住,不怎么放心,想找一个紧急求助的软件,万一有什么突发情况,可以立即知道.用金山手机卫士的手机定位功能可以知道对方的位置状态,但不能主动发送求助信息,在网上了很多的APK,都是鸡肋功能 ...

随机推荐

  1. iOS instruments之ui automation的简单使用(高手绕道)

    最近使用了几次instruments中的automation工具,现记录下automation的简单使用方法,希望对没接触过自动化测试又有需求的人有所帮助.  UI 自动测试是iOS 中重要的附加功能 ...

  2. HTML字符实体名称/实体编号

    字符实体对英文的大小写敏感! 字符实体一: 显示结果 描述 实体名称 实体编号   空格     < 小于号 < < > 大于号 > > & 和号 & ...

  3. JavaScript简易动画

    <p id="s">fly</p> <script> function move(){ var id=document.getElementBy ...

  4. ref 和 out 的区别

    ref和out都是C#中的关键字,所实现的功能也差不多,都是指定一个参数按照引用传递. 对于编译后的程序而言,它们之间没有任何区别,也就是说它们只有语法区别. 总结起来,他们有如下语法区别: 1.re ...

  5. Personal Geodatabase - Can't Create New or Open Existing

    来自:http://forums.arcgis.com/threads/32110-Personal-Geodatabase-Can-t-Create-New-or-Open-Existing Per ...

  6. Appcan开发之页面布局与CSS排版(转)

    在Appcan开发中,首先要进行的就是页面布局,然后在这个页面上填充数据,加上互动元素,最终构成完整的应用. 因为appcan是使用HTML5+CSS3+JavaScript技术来进行开发,所以与普通 ...

  7. 《ArcGIS Runtime SDK for Android开发笔记》——(11)、ArcGIS Runtime SDK常见空间数据加载

    ArcGIS Runtime SDK for Android 支持多种类型空间数据源.每一种都提供了相应的图层来直接加载,图层Layer是空间数据的载体,其主要继承关系及类型说明如下图所示: 转载请注 ...

  8. 关于maven包的引入net.sf.json的问题

    最开始通过在pom.xml文件中加入 <dependency> <groupId>net.sf.json-lib</groupId> <artifactId& ...

  9. php导出cvs xls xlsx

    有两种方法,一种是更改输出头部,一种是使用phpexcel类,很显然前者更方便,下面给出一个demo方法导出cvs/** * 导出日志 */public function excel() { setl ...

  10. JS 排序:冒泡、 二分搜索 /折半搜索 half-interval search

    冒泡排序:  重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来. var arr = [5,0,-56,900,12]; //大的排序次数 for(var i=0; i& ...