poj 3268 Silver Cow Party dijkstra基础题!!!入门
2011-11-22 17:20
423 查看
双向dijkstra,一遍正续dijkstra,再将路向倒过来dijkstra,这道题我已开始定义最大值0x7FFFFFFF
这顿wa,改成0x7FFFFF就过了,原来0x7FFFFFFF在比较的时候d[u]+map[u][j]一加就冒了,变成负数了!!!
#include<iostream> using namespace std; int map[1005][1005],vis1[1005][1005]; int d[1005],vis[1005],d1[1005]; int n,m,x,a,b,t; void dijkstra() { vis[x]=1; for(int i=1;i<=n;i++) d[i]=map[x][i]; int max=0x7FFFFF; int se=0x7FFFFF,temp,u; cout<<max<<' '<<se; system("pause"); for(int i=1;i<n;i++) { temp=max; for(int j=1;j<=n;j++) if(!vis[j]&&d[j]<temp) { temp=d[j]; u=j; } vis[u]=1; for(int j=1;j<=n;j++) if(!vis[j]) { if(d[j]>d[u]+map[u][j]) d[j]=d[u]+map[u][j]; } } return ; } int main() { while(cin>>n>>m>>x) { for(int i=0;i<1005;i++) for(int j=0;j<1005;j++) { vis1[i][j]=0; map[i][j]=0x7FFFFF; if(i==j) map[i][j]=0; } while(m--) { scanf("%d%d%d",&a,&b,&t); map[a][b]=t; } memset(vis,0,sizeof(vis)); dijkstra(); for(int i=1;i<=n;i++) d1[i]=d[i]; // for(int i=1;i<=n;i++) // cout<<d[i]<<' '; // system("pause"); for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { if(!vis1[i][j]&&!vis1[j][i]) { int temp=map[i][j]; map[i][j]=map[j][i]; map[j][i]=temp; vis1[i][j]=vis1[j][i]=1; } } } memset(vis,0,sizeof(vis)); dijkstra(); // for(int i=1;i<=n;i++) // cout<<d[i]<<' '; // system("pause"); int max=0; for(int i=1;i<=n;i++) { int temp=d[i]+d1[i]; if(temp>max) max=temp; } cout<<max<<endl; } return 0; }
相关文章推荐
- POJ 3268 Silver Cow Party (Dijkstra)
- 【POJ】3268 - Silver Cow Party(dijkstra & 优先队列 & 好题)
- POJ 3268 Silver Cow Party(两次Dijkstra求最大值)
- POJ 3268 Silver Cow Party(Dijkstra)
- POJ 3268 - Silver Cow Party(dijkstra)
- Silver Cow Party POJ - 3268 (dijkstra变形)
- POJ 3268 Silver Cow Party(Dijkstra)
- POJ 3268 Silver Cow Party (Dijkstra + 优先队列)
- POJ 3268 Silver Cow Party(dijkstra)
- POJ - 3268 Silver Cow Party(图论/dijkstra最短路)
- POJ 3268 Silver Cow Party(dijkstra+矩阵转置)
- POJ 3268 Silver Cow Party(dijkstra求单源最短路)
- POJ - 3268----Silver Cow Party(Dijkstra)
- POJ.3268 Silver Cow Party (Dijkstra)
- Silver Cow Party poj 3268 Dijkstra,spfa,+vector
- POJ 3268 Silver Cow Party(dijkstra最短路)
- POJ 3268 Silver Cow Party (Dijkstra~)
- POJ 3268 Silver Cow Party (最短路dijkstra)
- POJ 3268 Silver Cow Party (Dijkstra~)
- poj 3268 Silver Cow Party(dijkstra最短路)