P1078

news/2024/10/21 8:40:47


然而题单里就是有这题……
dij,照亮世界!

#include<bits/stdc++.h>
using namespace std;
int n,k,m,s,t,a[105][105],wen[105];
int d[100005];
bool vis[100005];
int qi,mo,f;
inline int read(){int x=0;char ch=getchar();while (ch>='0'&&ch<='9'){x=x*10+ch-48;ch=getchar();}return x;}
struct Edge{int v,w;Edge(int _v=0,int _w=0){v=_v,w=_w;}
};
vector<Edge>e[1005];
vector<int>di[1005];
struct Node{int v,w;Node(int _v=0,int _w=0){v=_v,w=_w;}bool operator <(const Node &n) const{return w>n.w;}
};
priority_queue<Node>q;
int x;
bool kx(int x,int y){for(int j=0;j<di[y].size();j++){if(di[y][j]==x)return false;}return true;
}
void dijkstra()
{d[s]=0;q.push(Node(1,0));while(!q.empty()){int x=q.top().v;q.pop();if(vis[x])continue;vis[x]=true;for(int i=0;i<e[x].size();i++) {int v=e[x][i].v;int w=e[x][i].w;if(kx(wen[x],wen[v]))	{if(d[v]>d[x]+w){d[v]=d[x]+w;q.push(Node(v,d[v]));}}else continue;}}
}
int main(){n=read();k=read(); m=read(); s=read();t=read();	for(int i=1;i<=n;i++)wen[i]=read();for(int i=1;i<=k;i++){for(int j=1;j<=k;j++){x=read();if(x==1)di[i].push_back(j);a[i][j]=x;}}for(int j=1;j<=m;j++){cin>>qi>>mo>>f;if(a[mo][qi]==0)e[qi].push_back(Edge(mo,f));if(a[qi][mo]==0)e[mo].push_back(Edge(qi,f));}memset(d,0x3f3f3f3f,sizeof(d));dijkstra();if(vis[t]&&wen[t]!=wen[s])cout<<d[t];else cout<<"-1";return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/74033.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

C#/.NET/.NET Core技术前沿周刊 | 第 10 期(2024年10.14-10.20)

前言 C#/.NET/.NET Core技术前沿周刊,你的每周技术指南针!记录、追踪C#/.NET/.NET Core领域、生态的每周最新、最实用、最有价值的技术文章、社区动态、优质项目和学习资源等。让你时刻站在技术前沿,助力技术成长与视野拓宽。欢迎投稿、推荐或自荐优质文章、项目、学习资源等…

VMware Fusion 13.6.1 OEM BIOS 2.7 - 在 macOS 中运行 Windows 虚拟机的最佳方式

VMware Fusion 13.6.1 OEM BIOS 2.7 - 在 macOS 中运行 Windows 虚拟机的最佳方式VMware Fusion 13.6.1 OEM BIOS 2.7 - 在 macOS 中运行 Windows 虚拟机的最佳方式 VMware Fusion 13 原版 App 中集成 OEM BIOS 请访问原文链接:https://sysin.org/blog/vmware-fusion-13-oem/ …

低功耗4G模组:tcs3472颜色传感器示例

​ 今天我们学习合宙低功耗4G模组Air780EP的LuatOS开发tcs3472示例,文末【阅读原文】获取最新资料1 一、简介 tcs3472颜色传感器能够读取照射到的物体的RGB三种数值,从而识别颜色关联文档和使用工具:LuatOS 固件获取tcs3472 颜色传感器接口说明Luatools下载调试工具二、材料…

读数据工程之道:设计和构建健壮的数据系统15源系统实际细节(上)

源系统实际细节(上)1. 数据库 1.1. 数据库管理系统1.1.1. 用于存储和提供数据的数据库系统1.1.2. 简称DBMS,它由存储引擎、查询优化器、灾难恢复和其他管理数据库系统的关键组件组成1.1.2.1. 查询1.1.2.2. 查询优化器1.1.2.3. 扩展和分发1.1.2.4. 模型1.1.2.5. CRUD1.1.2.6.…

代码随想录算法训练营第三天 | 203. 移除链表元素、 707. 设计链表、206.反转链表

链表基础 链表分为单链表、双链表和循环链表,链表在内存中与数组不同,不是连续存储的。 C++中链表的定义方式如下: // 单链表 struct ListNode {int val; // 节点上存储的元素ListNode *next; // 指向下一个节点的指针ListNode(int x) : val(x), next(NULL) {} // 节点的…

MySQL时区导致无法产生表

MySQL时区导致无法产生表 解决问题加上 &serverTimezone=UTC日志信息 2024-10-21 01:56:19.719 INFO 26556 --- [ main] com.li.BackEndApplication : Starting BackEndApplication on LIJIANTPC with PID 26556 (D:\project\blogs\back-end\tar…

我在大厂做 CR——如何体系化防控空指针异常

大家好,我是木宛哥,今天和大家分享下——代码 CR 时针对恼人的空指针异常(NullPointerException)如何做到体系化去防控; 什么是空指针异常 从内存角度看,对象的实例化需要在堆内存中分配空间。如果一个对象没有被创建,那也就没有分配内存,当应用程序访问空对象时,实际…

U4字符串以及正则表达式

Unit4字符串以及正则表达式方法 描述capitalize() 把首字符转换为大写。casefold() 把字符串转换为小写。center() 返回居中的字符串。count() 返回指定值在字符串中出现的次数。encode() 返回字符串的编码版本。endswith() 如果字符串以指定值结尾,则返回 true。expandtabs()…