洛谷 P3371 【模板】单源最短路径(弱化版)(dijkstra邻接链表)
2024-09-02 17:11:25
题目传送门
解题思路:
AC代码:
#include<iostream>
#include<cstdio>
#include<cstring> using namespace std; struct kkk {
int from,to,v,next;
}e[];
int n,m,s,head[],q,w,p,tot,ans[];
bool vis[]; void add(int q,int w,int p) {
e[++tot].from = q;
e[tot].to = w;
e[tot].v = p;
e[tot].next = head[q];
head[q] = tot;
} void dijkstra(int s) {
memset(vis,,sizeof(vis));
ans[s] = ;
for(int i = ;i <= n; i++) {
int id = ,sum = 0x3f3f;
for(int j = ;j <= n; j++)
if(!vis[j] && sum >= ans[j])
sum = ans[j],id = j;
vis[id] = ;
for(int j = head[id];j;j = e[j].next)
ans[e[j].to] = min(ans[e[j].to],ans[id] + e[j].v);
}
} int main() {
scanf("%d%d%d",&n,&m,&s);
for(int i = ;i <= n; i++)
ans[i] = 0x3f3f3f3f;
for(int i = ;i <= m; i++) {
scanf("%d%d%d",&q,&w,&p);
add(q,w,p); }
dijkstra(s);
for(int i = ;i <= n; i++) {
if(ans[i] == 0x3f3f3f3f) printf("2147483647 ");
else
printf("%d ",ans[i]);
}
return ;
}
最新文章
- PHP开发之Zend Studio快捷键汇总
- PIC32MZ tutorial -- Blinky LED
- C# 百度语音合成
- iOS:界面适配(三)--iPhone不同机型或设备不同尺寸适配(屏幕适配)和系统适配
- cocos基础教程(2)Window环境下搭建(补充)
- python3的文件操作
- jquery页面加载的时候加载函数
- POJ 2429
- SQL Server 阻塞分析
- SELECT TOP column FROM table [ORDER BY column [DESC]]
- .net mvc笔记1_ The MVC Pattern
- 作为Web开发人员,我为什么喜欢Google Chrome浏览器
- selenium2自动化测试学习笔记(二)
- ABP中的依赖注入思想
- Python随笔--代理ip
- Eclipse控制台输出log日志中文乱码
- puppet(5)-master/agent模式
- 《Linux内核分析》第四周:扒开系统调用的三层皮
- Spark Structured Stream 2
- 【Python学习笔记】正则表达式
热门文章
- 修改电脑IP地址和MAC地址
- jar类库加载顺序
- HTML布局梳理
- java项目提交到码云
- 量化投资_Multicharts数组操作函数_zeros()设定数组元素为0(自定义)
- ng : File C:\Users\baron\AppData\Roaming\npm\ng.ps1 cannot be loaded because running
- Java UDP发送与接收
- 四、CI框架之通过URL路径访问C中的函数
- 小明有5本新书,要借给A、B、C三位小朋友 若每人每次只能借一本,则可以有多少种不同的借法?
- 微服务基础——厉害了!API网关