AcWing 1128. 信使
战争时期,前线有 n个哨所,每个哨所可能会与其他若干个哨所之间有通信联系。
信使负责在哨所之间传递信息,当然,这是要花费一定时间的(以天为单位)。
指挥部设在第一个哨所。当指挥部下达一个命令后,指挥部就派出若干个信使向与指挥部相连的哨所送信。
当一个哨所接到信后,这个哨所内的信使们也以同样的方式向其他哨所送信。
信在一个哨所内停留的时间可以忽略不计。
直至所有n个哨所全部接到命令后,送信才算成功。
因为准备充足,每个哨所内都安排了足够的信使(如果一个哨所与其他k个哨所有通信联系的话,这个哨所内至少会配备 kk个信使)。
现在总指挥请你编一个程序,计算出完成整个送信过程最短需要多少时间。
#include<bits/stdc++.h>
#define N 1000000
using namespace std;
priority_queue<pair<int ,int >,vector<pair<int ,int > >,greater<pair<int ,int > > > dl;
int head[N],to[N],vis[N],net[N];
int d[N],f[N];
int cut,n,m,ans;
void add(int from, int t,int v){net[++cut]=head[from],to[cut]=t,vis[cut]=v,head[from]=cut;};
void dijkstra(int x)
{
dl.push(make_pair(0,x));
d[x]=0;
while(dl.size())
{
x=dl.top().second;dl.pop();
if(f[x]==1)continue;f[x]=1;
for(int i=head[x];i;i=net[i])
{
int y=to[i];
if(d[x]+vis[i]<d[y])
{
d[y]=d[x]+vis[i];
dl.push(make_pair(d[y],y));
}
}
}
}
int main()
{
cin>>m>>n;
memset(d,0x3f3f3f3f,sizeof d);
for(int i=1;i<=n;i++)
{
int x,y,z;
scanf("%d%d%d",&x,&y,&z);
add(x,y,z);add(y,x,z);
}
dijkstra(1);
for(int i=1;i<=m;i++){ans=max(ans,d[i]);}
if(ans==0x3f3f3f3f)ans=-1;
cout<<ans;
return 0;
}
AcWing 1128. 信使的更多相关文章
- Messenger信使
* Messenger用于Activity和Service之间消息传递 需求:activity来绑定服务,绑定成功后,将数据发送给service,service收到消息后,再发送信息给activity ...
- 校内OJ 1128 词链(link)(Trie+DFS)
1128: 词链(link) 时间限制: 1 Sec 内存限制: 64 MB 提交: 23 解决: 7 [提交][状态][讨论版] 题目描述 给定一个仅包含小写字母的英文单词表,其中每个单词最多包 ...
- ACdream 1128 Maze(费用流)
题目链接:http://acdream.info/problem?pid=1128 Problem Description wuyiqi陷入了一个迷宫中,这个迷宫是由N*M个格子组成的矩阵.每个格子上 ...
- Visual C#实现Windows信使服务
现在有很多网络管理软件都具备网络上信息实时传送的功能,虽然有些网络通讯软件功能比较强大,有的软件不仅可以传送文本信息,还可以传送二进制文件等.但 它们都有一个无法克服的缺点,那就是分发比较困难,信息传 ...
- MvvmLight Messenger(信使)
MvvmLight信使需要三个部分: 1.自定义信件类,普通的Model,供在发布者和订阅者之间传递信息用. 2.发布,通常是在某一事件函数中进行发布,Messenger.Default.Send 3 ...
- [最短路]信使(msner)
[题目描述] 战争时期,前线有n个哨所,每个哨所可能会与其他若干个哨所之间有通信联系.信使负责在哨所之间传递信息,当然,这是要花费一定时间的(以天为单位).指挥部设在第一个哨所.当指挥部下达一个命令后 ...
- PAT 1128 N Queens Puzzle
1128 N Queens Puzzle (20 分) The "eight queens puzzle" is the problem of placing eight ch ...
- 腾讯机试题 AcWing 603 打怪兽
题目链接:https://www.acwing.com/problem/content/605/ 题目大意: 略 分析: 用dp[i][j]表示用j元钱能在前i只怪兽上所能贿赂到的最大武力值. 有一种 ...
- PAT甲级 1128. N Queens Puzzle (20)
1128. N Queens Puzzle (20) 时间限制 300 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue The & ...
随机推荐
- WIN10 分区 C盘 至少250-300G E盘至少700G
win10 就2个分区 C盘 至少250-300G E盘至少700G
- 1.7 Systemd初始化进程
1.7 Systemd初始化进程 Linux操作系统的开机过程是这样的,即从BIOS开始,然后进入Boot Loader,再加载系统内核,然后内核进行初始化,最后启动初始化进程.初始化进程作为Linu ...
- Mysql体系结构管理
1.客户端与服务端模型 1)数据是一个典型的C/S结构的服务 1.mysql自带的客户端工具 mysql mysqladmin mysqldump 3.mysql是一个二进制程序,后台守护进程 单进程 ...
- 利用jink的驱动软件j-flash 合并两个hex的方法,bootloader+app -(转载)
第一步:先打开第一个hex文件, 第二步:选择 "Merge data file",合并文件 第三步:两个工程有可能地址相同,会有如下提示:(如果在编译的时候设置好Flash的地址 ...
- power delivery功率输出
delivery
- Centos下删除文件后空间并未释放
[root@DeviceSP /]# df -h Filesystem Size Used Avail Use% Mounted on /dev/vda3 90G 82G 3.8G 96% / tmp ...
- SqlServer事务详解(事务隔离性和隔离级别详解)
概述 不少人对于事务的使用局限于begin transaction:开始事务.commit transaction:提交事务.rollback transaction:回滚事务的初步运用. 并且知道使 ...
- Java,用户刷屏检测\相似字符串检测
背景 近期有几个业务方提出一需求,期望判断一个用户在短期内是否存在刷屏现象,出现后能对其做出限制,并上报. 刷屏定义:取出用户近期20条评论,如果有50%的评论是"相似"的,则认为 ...
- Processing平台之PVector求角度
问题:在processing 平台,通过给定三个PVector向量,如何求他们之间的夹角,同时确定是在左侧还是右侧? 如图所示,在processing 平台中,PVector表示点的坐标是以原点为起点 ...
- camera中LENS和SENSOR的CRA是如何搭配的?
camera中LENS和SENSOR的CRA是如何搭配的? camera中,lens和sensor的搭配是非常关键的问题.但这两者是如何搭配的呢? 一般在Sensor data sheet中会附有全视 ...