社区讨论
爆0求条(TLE+RE)
P1339[USACO09OCT] Heat Wave G参与者 3已保存回复 4
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 4 条
- 当前快照
- 1 份
- 快照标识符
- @mhj04nx0
- 此快照首次捕获于
- 2025/11/03 18:33 4 个月前
- 此快照最后确认于
- 2025/11/03 18:33 4 个月前
CPP
#include <bits/stdc++.h>
using namespace std;
const int MAXN=2500+5;
const int MAXM=6200+5;
int nxt[MAXN],hd[MAXN],to[MAXN],vis[MAXN],cnt,val[MAXM];
long long dis[MAXN];
void add(int u,int v,int w){
++cnt;
val[cnt]=w;
to[cnt]=v;
nxt[cnt]=hd[u];
hd[u]=cnt;
}
struct node {
int v;
int w;
friend bool operator < (node aa,node bb){
return aa.w>bb.w;
}
}tmp;
priority_queue<node> q;
void Dij(int s){
dis[s]=0;
vis[s]=1;
tmp.v=s; tmp.w=0;
q.push(tmp);
while(q.size()){
int u=q.top().v;
if (vis[u]) continue;
vis[u]=1;
q.pop();
for(int i=hd[u];i;i=nxt[i]){
int v=to[i];
if (dis[v]>dis[u]+val[i]){
dis[v]=dis[u]+val[i];
tmp.v=v;
tmp.w=dis[v];
q.push(tmp);
}
}
}
}
int main() {
ios::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
int n,m,s,t;
cin>>n>>m>>s>>t;
for(int i=1;i<=m;i++){
int u,v,w;
cin>>u>>v>>w;
add(u,v,w);
add(v,u,w);
}
Dij(s);
cout<<dis[t];
return 0;
}
回复
共 4 条回复,欢迎继续交流。
正在加载回复...