zoj 1082 Stockbroker Grapevine(最短路)
2015-05-09 16:51
337 查看
题目地址
题目大意:给出到达点与点之间的所需的时间,求出整个图中从哪个点出发使得到达最后一个点的时间最短,输出该点和最短时间
解题思路:最短路裸题,依次扫描每个点出发是否满足,再求出最短时间的点及最短时间
题目大意:给出到达点与点之间的所需的时间,求出整个图中从哪个点出发使得到达最后一个点的时间最短,输出该点和最短时间
解题思路:最短路裸题,依次扫描每个点出发是否满足,再求出最短时间的点及最短时间
#include <iostream> #include <cstdio> #include <cmath> #include <algorithm> #include <cstring> #include <queue> #include <string> #include <map> #include <stack> #include <list> using namespace std; const int maxn = 100+10; const int INF = 0xffffff; int dis[maxn][maxn]; int num[maxn]; //记录点的个数及每个点对应的实际数 void warshall_floyd() { for(int k = 1; k <= maxn; k++) { for(int i = 1; i <= maxn; i++) { for(int j = 1; j <= maxn; j++) { dis[i][j] = min(dis[i][j],dis[i][k]+dis[k][j]); } } } } int main() { int t,n,x; while(scanf("%d",&t) != EOF && t) { for(int i = 0; i <= maxn; i++) { for(int j = 0; j <= maxn; j++) { if(i == j) dis[i][j] = 0; else dis[i][j] = INF; } } int cnt = 0;//点的个数 for(int i = 1; i <= t; i++) { scanf("%d",&n); num[++cnt] = i; for(int j = 1; j <= n; j++) { scanf("%d%d",&num[++cnt],&x); dis[i][num[cnt]] = x; } } warshall_floyd(); int Min; int beg,time; time = INF; for(int i = 1; i <= t; i++) { int flag = 0; //标记每个点是否可作为出发点 Min = 0; for(int j = 1; j <= cnt; j++) { Min = max(Min,dis[i][num[j]]); if(dis[i][num[j]] == INF) { flag = 1; Min = time; continue; } } if(!flag) { if(time > Min) { beg = i; time = Min; } } } printf("%d %d\n",beg,time); } return 0; }
相关文章推荐
- zoj 1082 Stockbroker Grapevine 最短路 Dijkstra
- ZOJ 1082 Stockbroker Grapevine 最短路
- zoj 1082 Stockbroker Grapevine
- zoj 1082 Stockbroker Grapevine
- ZOJ-1082-Stockbroker Grapevine(最短路径)
- ZOJ 1082 Stockbroker Grapevine
- zoj 1082 - Stockbroker Grapevine
- zoj1082 Stockbroker Grapevine
- ZOJ Problem Set - 1082 Stockbroker Grapevine
- ZOJ Problem Set - 1082 Stockbroker Grapevine
- zoj 1082 && poj 1125 && 南阳oj 426 Stockbroker Grapevine
- zoj 1082 Stockbroker Grapevine
- POJ1125 Stockbroker Grapevine(最短路)
- POJ 1125 Stockbroker Grapevine(最短路 Floyd)
- POJ-1125 Stockbroker Grapevine 最短路
- poj 1125 Stockbroker Grapevine 最短路Floyd算法
- Stockbroker Grapevine(最短路_floyd())
- poj 1125 -- Stockbroker Grapevine (最短路)
- POJ 1125 Stockbroker Grapevine(最短路练习)
- poj 1125Stockbroker Grapevine(最短路)