POJ.3268 Silver Cow Party (Dijkstra)
2017-07-12 22:35
471 查看
POJ.3268 Silver Cow Party (Dijkstra)
题意分析
稍后补代码总览
#include <cstdio> #include <cstring> #include <algorithm> #include <queue> #include <stack> #include <vector> #include <cmath> #define nmax 1005 #define inf 1e8+7 using namespace std; int n,m,x; int mp[nmax][nmax]; int shorttime[2][nmax]; bool visit[nmax]; void dij(int s,int hh) { int cur = s; for(int i = 1;i<=n;++i){ shorttime[hh][i]= inf; visit[i] = false; } shorttime[hh][cur] = 0; visit[cur] = true; for(int i =2;i<=n;++i){ int nowmin = inf; for(int j = 1;j<=n;++j){ if(!visit[j] && shorttime[hh][cur] + mp[cur][j] < shorttime[hh][j]){ shorttime[hh][j] = shorttime[hh][cur] + mp[cur][j]; } } for(int j = 1;j<=n;++j){ if(!visit[j] && nowmin >shorttime[hh][j] ){ cur = j; nowmin = shorttime[hh][j]; } } visit[cur] = true; } } void init() { for(int i =1 ;i<=n;++i){ for(int j = 1;j<=n;++j){ mp[i][j] = inf; } } for(int i = 1;i<=m;++i){ int a,b,d; scanf("%d %d %d",&a,&b,&d); mp[a][b] = d; } } void traverse() { for(int i = 1;i<=n;++i){ for(int j = 1;j<=i;++j){ swap(mp[i][j],mp[j][i]); } } } int main() { //freopen("in.txt","r",stdin); while(scanf("%d %d %d",&n,&m,&x) != EOF){ init(); int ans[nmax]= {0}; int maxt = 0; dij(x,0); traverse(); dij(x,1); for(int i = 1;i<=n;++i){ if(i == x) continue; ans[i] = shorttime[0][i] + shorttime[1][i]; if(ans[i]> maxt){ maxt = ans[i]; } } printf("%d\n",maxt); } 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求最大值)
- POJ 3268 - Silver Cow Party(dijkstra)
- POJ 3268 Silver Cow Party (Dijkstra + 优先队列)
- poj 3268 Silver Cow Party(dijkstra||SPFA)(中等)
- 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最短路)
- POJ 3268 Silver Cow Party(Dijkstra)
- POJ 3268 Silver Cow Party (Dijkstra~)
- POJ - 3268----Silver Cow Party(Dijkstra)
- POJ - 3268 Silver Cow Party(图论/dijkstra最短路)