POJ 1502 MPI Maelstrom
2011-10-29 23:26
417 查看
..................................................................
先无语,必须无语!!!!
应该说是一个很简单的题:赤裸的Dijsktra!
但是题意读不懂,用着有道+1个小时+坚强的意志=终于读懂了!。。。。。。。English。。。。。。。。。。
然后速想代码架构,速敲代码!!但是测试数据就错了!!!!!
最终调试!!发现定义最大值错了!!即#define MAX 0x7fffffff
这样一来,在最大值的基础上再加上一个数就越界了,可能就是负数!以至于更新dist的值整成负的了!!!
记住!这个错误,以后别犯了!!!
View Code
先无语,必须无语!!!!
应该说是一个很简单的题:赤裸的Dijsktra!
但是题意读不懂,用着有道+1个小时+坚强的意志=终于读懂了!。。。。。。。English。。。。。。。。。。
然后速想代码架构,速敲代码!!但是测试数据就错了!!!!!
最终调试!!发现定义最大值错了!!即#define MAX 0x7fffffff
这样一来,在最大值的基础上再加上一个数就越界了,可能就是负数!以至于更新dist的值整成负的了!!!
记住!这个错误,以后别犯了!!!
View Code
#include <stdio.h> #include <string.h> #define N 102 //#define MAX 0x7fffffff 草了!这次Dijsktra写的木一点问题,这里出问题了,窝里割草啊! //这几把错的给力啊! #define MAX 0xfffffff int map ; int dist ; bool flag ; void Dijsktra(int s,int n) { int i,j,u; for(i=1;i<=n;i++) { dist[i]=map[s][i]; flag[i]=false; } flag[s]=true; for(i=1;i<n;i++) { for(u=s,j=1;j<=n;j++) { if(!flag[j] && dist[u]>dist[j]) { u=j; } } flag[u]=true; for(j=1;j<=n;j++) { if(!flag[j] && (dist[u]+map[u][j]<dist[j])) { dist[j]=dist[u]+map[u][j]; } } } } int solve(int s,int n) { int i,j; Dijsktra(s,n); dist[s]=0; for(j=i=1;i<=n;i++) { if(dist[j]<dist[i]) { j=i; } } return dist[j]; } int getInt() { int ans=0; char c; while(((c=getchar())>'9' || c<'0') && (c!='x')); while(c>='0' && c<='9') { ans=ans*10+c-'0'; c=getchar(); } return ans?ans:MAX; } int main() { int i,j,n; // freopen("input.txt","r",stdin); while(scanf("%d",&n)!=EOF) { for(i=0;i<=n;i++) { for(j=0;j<=n;j++) map[i][j]=MAX; } for(i=2;i<=n;i++) { for(j=1;j<i;j++) { map[j][i]=map[i][j]=getInt(); } } printf("%d\n",solve(1,n)); } return 0; }
相关文章推荐
- poj 1502 MPI Maelstrom(最短路)
- poj 1502 MPI Maelstrom
- Poj 1502 MPI Maelstrom【Floyd】
- POJ - 1502 MPI Maelstrom(dijkstra/spfa)
- POJ 1502 MPI Maelstrom【floyd】
- poj 1502: MPI Maelstrom
- poj1502——MPI Maelstrom(dijkstra算法)
- 最短路径___MPI Maelstrom(Poj 1502)
- poj_1502_MPI Maelstrom(Dijkstra求单源最短路径)
- POJ 1502 - MPI Maelstrom(单源最短路)
- POJ 1502 MPI Maelstrom(Dijkstra)
- POJ 1502 MPI Maelstrom(单源最短路)
- POJ_1502(Floyd算法)MPI Maelstrom
- (简单) POJ 1502 MPI Maelstrom,Dijkstra。
- Dijkstra-POJ-1502-MPI Maelstrom
- POJ 1502 MPI Maelstrom (Dijkstra 模板题)
- poj_1502_MPI Maelstrom_spfa
- POJ 1502 MPI Maelstrom (Dijkstra)
- POJ 1502 MPI Maelstrom
- POJ【1502】MPI Maelstrom