首页
微课堂
往届文化交流
第一届文化交流
第二届文化交流
第三届文化交流
登录
单元最短路径
!
发布于:2022/07/27 test
更新于:2022/07/27
89
项目较大,如果没有出现,请耐心等待一会儿
举报
#为什么还没有更新c++编辑器...python又不是最广的编程语言,现在信息学竞赛生普遍低龄化,c++在小学中也的到了更多的普及...还有这是我6年级上册提的意见,现在我快初二了还没更((( #单元最短路径dijkstra算法,下面是C++的代码,python运行不起的 #include
using namespace std; int cnt=0; int head[200005],dis[200005]; int n,m,s; bool vis[200005]; struct edge{ int w,to,nex; }e[200005]; int add (int u,int v,int d) { e[++cnt].w=d; e[cnt].to=v; e[cnt].nex=head[u]; head[u]=cnt; } struct node { int dis,pos; bool operator <(const node &x) const{return x.dis
q; void dij () { dis[s]=0; q.push(node{0,s}); while(!q.empty()) { node tmp=q.top(); q.pop(); int u=tmp.pos; if(vis[u]) continue; vis[u]=1; for(int i=head[u];i;i=e[i].nex) { int y=e[i].to; if(dis[y]>dis[u]+e[i].w) { dis[y]=dis[u]+e[i].w; if(!vis[y]) q.push(node{dis[y],y}); } } } } int main() { cin>>n>>m>>s; for(int i=1;i<=n;i++) dis[i]=0x7fffffff; for(int i=1;i<=m;i++) { int x,y,z; cin>>x>>y>>z; add(x,y,z); } dij(); for(int i=1;i<=n;i++) { cout<
作品简介
c++的代码,我六上提的意见,更新c++编译器,现在我马上初二了,还是没有。 python运行不了的,哦对了,你们从初一下就要学python了(必修)
操作说明
给定一个 n 个点,m 条有向边的带非负权图,请你计算从 s 出发,到每个点的距离。 输入格式: 第一行为三个正整数 n, m, s。 第二行起 m 行,每行三个非负整数 ui, vi, wi,表示ui到vi有一条权值为wi的边 输出格式 s到每个点的距离
标签
查看源码
0
0
登录
之后才能评论哦
暂无留言
×
提醒
确认要删除此条评论么?
×
举报原因
×
举报原因
×
登陆
立即登录
没有账号? 请联系管理员
×
注册
账号注册
学员
2012年入学
2013年入学
2014年入学
2015年入学
2016年入学
2017年入学
2018年入学
2019年入学
2020年入学
2021年入学
1年级
2年级
3年级
4年级
5年级
6年级
7年级
8年级
9年级
10年级
11年级
12年级
1班
2班
3班
4班
5班
6班
7班
8班
9班
10班
11班
12班
13班
14班
15班
16班
17班
18班
19班
20班
学生
老师
立即注册
已有账号?
立即登录
×
提 示