Python
#为什么还没有更新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<