bzoj3408 [Usaco2009 Oct]Heat Wave 热浪(Dijkstra裸题)
来源:互联网 发布:php ip2long 编辑:程序博客网 时间:2024/06/03 20:28
Dijstra裸题。
#include <cstdio>#include <cstring>#include <algorithm>#define N 2510#define M 6210#define inf 0x3f3f3f3finline int read(){ int x=0,f=1;char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();} while(ch>='0'&&ch<='9') x=x*10+ch-'0',ch=getchar(); return x*f;}int n,m,s,t,d[N],h[N],num=0;bool f[N];struct edge{ int to,next,val;}data[M<<1];int main(){// freopen("a.in","r",stdin); n=read();m=read();s=read();t=read(); while(m--){ int x=read(),y=read(),val=read(); data[++num].to=y;data[num].next=h[x];h[x]=num;data[num].val=val; data[++num].to=x;data[num].next=h[y];h[y]=num;data[num].val=val; }memset(d,0x3f,sizeof(d));f[s]=1; for(int i=h[s];i;i=data[i].next){ int y=data[i].to; d[y]=std::min(d[y],data[i].val); } for(int k=2;k<=n;++k){ int j=0; for(int i=1;i<=n;++i) if(!f[i]&&d[i]<d[j]) j=i; f[j]=1;if(j==t) break; for(int i=h[j];i;i=data[i].next){ int y=data[i].to; d[y]=std::min(d[y],d[j]+data[i].val); } } printf("%d\n",d[t]); return 0;}
阅读全文
0 0
- bzoj3408 [Usaco2009 Oct]Heat Wave 热浪(Dijkstra裸题)
- bzoj3408: [Usaco2009 Oct]Heat Wave 热浪
- bzoj3408: [Usaco2009 Oct]Heat Wave 热浪
- 3408: [Usaco2009 Oct]Heat Wave 热浪
- bzoj 3408: [Usaco2009 Oct]Heat Wave 热浪 最短路
- USACO 2009 Oct 热浪Heat Wave
- USACO 2009 OCT 热浪Heat Wave
- 【洛谷 1339】【USACO 09 OCT】热浪 Heat Wave
- Heat Wave(热浪)附超大数据
- [USACO09OCT]热浪Heat Wave
- 【USACO09OCT】热浪Heat Wave
- Dijkstra算法模版 洛谷P1339 [USACO09OCT]热浪Heat Wave
- P1339 [USACO09OCT]热浪Heat Wave
- P1339 [USACO09OCT]热浪Heat Wave
- P1339 [USACO09OCT]热浪Heat Wave
- P1339 [USACO09OCT]热浪Heat Wave
- P1339 [USACO09OCT]热浪Heat Wave
- 洛谷 P1339 [USACO09OCT] 热浪Heat Wave
- 微信开发 url 解析
- 基于领域的社会化推荐
- 网络干货,无论是运维还是开发都要知道的网络知识系列之(一)
- jsp取得绝对路径
- 哈哈
- bzoj3408 [Usaco2009 Oct]Heat Wave 热浪(Dijkstra裸题)
- bzoj1787 [Ahoi2008]Meet 紧急集合 树上倍增
- Access 与C++编程
- qt静态链接库心得
- 正则表达式
- Elasticsearch 架构
- BZOJ1801 Ahoi2009 chess 中国象棋
- 关联容器
- C. The Tag Game【dfs】