http://acm.hdu.edu.cn/showproblem.php?pid=2544&&最短路
2011-10-20 16:28
351 查看
水题。。。。dijstra算法。。。。
#include<iostream>
#include<string.h>
#include<algorithm>
#include<limits.h>
#define M 99999999
#define N 105
#define FOR(i,s,t) for(int i=(s);i<=t;++i)
using namespace std;
int dist
;
int map
;
bool visit
;
int n,m;
void Dijstra()
{ int now=1;
dist[now]=0;
visit[now]=false;
FOR(i,1,n)
{ FOR(j,1,n)
if(visit[j]&&dist[j]>dist[now]+map[now][j])
dist[j]=dist[now]+map[now][j];
int minx=M;
FOR(j,1,n)
if(visit[j]&&dist[j]<minx)
minx=dist[now=j];
visit[now]=false;
}
cout<<dist
<<endl;
}
int main()
{ while(cin>>n>>m&&n&&m)
{ FOR(i,1,n)
FOR(j,1,n)
{ dist[i]=M;
map[i][j]=M;
visit[i]=true;
}
FOR(i,1,m)
{ int a,b,c;
cin>>a>>b>>c;
if(map[a][b]>c)
map[a][b]=map[b][a]=c;
}
Dijstra();
} return 0;
}
#include<iostream>
#include<string.h>
#include<algorithm>
#include<limits.h>
#define M 99999999
#define N 105
#define FOR(i,s,t) for(int i=(s);i<=t;++i)
using namespace std;
int dist
;
int map
;
bool visit
;
int n,m;
void Dijstra()
{ int now=1;
dist[now]=0;
visit[now]=false;
FOR(i,1,n)
{ FOR(j,1,n)
if(visit[j]&&dist[j]>dist[now]+map[now][j])
dist[j]=dist[now]+map[now][j];
int minx=M;
FOR(j,1,n)
if(visit[j]&&dist[j]<minx)
minx=dist[now=j];
visit[now]=false;
}
cout<<dist
<<endl;
}
int main()
{ while(cin>>n>>m&&n&&m)
{ FOR(i,1,n)
FOR(j,1,n)
{ dist[i]=M;
map[i][j]=M;
visit[i]=true;
}
FOR(i,1,m)
{ int a,b,c;
cin>>a>>b>>c;
if(map[a][b]>c)
map[a][b]=map[b][a]=c;
}
Dijstra();
} return 0;
}
相关文章推荐
- http://acm.hdu.edu.cn/showproblem.php?pid=1075&&字典树
- A + B Problem II &&http://acm.hdu.edu.cn/showproblem.php?pid=1002
- 2^x mod n = 1&&http://acm.hdu.edu.cn/showproblem.php?pid=1395
- 树状数组&&http://acm.hdu.edu.cn/showproblem.php?pid=1556
- http://acm.hdu.edu.cn/showproblem.php?pid=1878&&欧拉回路
- http://acm.hdu.edu.cn/showproblem.php?pid=2227&&树状数组+离散化+dp
- http://acm.hdu.edu.cn/showproblem.php?pid=2222&&AC自动机
- Text Reverse&&http://acm.hdu.edu.cn/showproblem.php?pid=1062
- Buy the Ticket&&http://acm.hdu.edu.cn/showproblem.php?pid=1133
- http://acm.hdu.edu.cn/showproblem.php?pid=2871&&Memory Control
- Number Sequence&&http://acm.hdu.edu.cn/showproblem.php?pid=1005
- 导弹拦截二&&http://acm.hdu.edu.cn/showproblem.php?pid=1257
- http://acm.hdu.edu.cn/webcontest/contest_showproblem.php?&&次小生成树
- find the safest road&&http://acm.hdu.edu.cn/showproblem.php?pid=1596
- http://acm.hdu.edu.cn/showproblem.php?pid=2191&&多重背包+二进制优化
- http://acm.hdu.edu.cn/showproblem.php?pid=3591&&背包问题
- http://acm.hdu.edu.cn/showproblem.php?pid=1116&&Play on Words
- http://acm.hdu.edu.cn/showproblem.php?pid=2642&&二维树状数组
- http://acm.hdu.edu.cn/showproblem.php?pid=2844&&背包问题
- Hello Kiki&&http://acm.hdu.edu.cn/showproblem.php?pid=3579