最短路的变形,使用spfa做。

#include<set>
#include<map>
#include<list>
#include<stack>
#include<queue>
#include<cmath>
#include<ctime>
#include<cstdio>
#include<string>
#include<vector>
#include<cstring>
#include<cstdlib>
#include<sstream>
#include<iostream>
#include<algorithm>
using namespace std;
#define LL long long
#define INF 0x7fffffff
#define debug cout << "here" << endl
#define CLR(X, Y) memset(X, Y, sizeof X)
#define FOR(X, Y) for(int i = X;i < Y;i ++)
inline int myMin(int x, int y){return x < y ? x : y;}
inline int myMax(int x, int y){return x < y ? y : x;}
const int MAXN = 505;
int mat[MAXN][MAXN], n;
void bfs(int t){
queue<int>Q;
int dist[MAXN], vis[MAXN];
CLR(dist, 1), CLR(vis, 0);
Q.push(t), dist[t] = 0, vis[t] = 1;
while(!Q.empty()){
int u = Q.front();
vis[u] = 0;
Q.pop();
for(int i = 0;i < n;i ++){
if(mat[u][i] > 0){
if(dist[i] > max(mat[u][i], dist[u])){
dist[i] = max(mat[u][i], dist[u]);
if(!vis[i]){
Q.push(i);
vis[i] = 1;
}
}
}
}
}
for(int i = 0;i < n;i ++){
if(dist[i] > 20000) printf("Impossible\n");
else printf("%d\n", dist[i]);
}
}
int main(int argc, char* argv[]){
int t, m, u, v, w;
#ifndef ONLINE_JUDGE
freopen("in.cpp", "r", stdin);
#endif
scanf("%d", &t);
int tmp = t;
while(t--){
printf("Case %d:\n", tmp-t);
memset(mat, 0, sizeof mat);
scanf("%d%d", &n, &m);
for(int i = 0;i < m;i ++){
scanf("%d%d%d", &u, &v, &w);
if(mat[u][v] == 0) mat[u][v] = mat[v][u] = w;
else mat[u][v] = mat[v][u] = min(mat[u][v], w);
}
scanf("%d", &m);
bfs(m);
}
return 0;
}

最新文章

  1. poj 并查集
  2. mybatis延迟加载
  3. linux rc.sysinit文件详解
  4. MultiByteToWideChar和WideCharToMultiByte用法详解
  5. -_-#【jQuery】data
  6. 较详细的sqlserver数据库备份、恢复(转)
  7. vs2010 suite integration toolkit execution
  8. 如何安装并且使用jmeter进行简单的性能测试
  9. kubernetes 源码安装部署 1.12
  10. node读取文件转换json文件
  11. 2017-11-10 Fr Oct 消参
  12. openSUSE搭建OpenVPN
  13. MT【218】交点个数
  14. JavaEE学习总结(十六)— Servlet
  15. centos7.2下安装Mysql笔记
  16. cordova 插件 调用iOS社交化分享(ShareSDK:微信QQ分享)
  17. sublime unityshaderplugin
  18. 04 存储库之mongodb
  19. Android - fragment之间数据传递
  20. Docker-容器数据卷

热门文章

  1. Eat that Frog
  2. Magento Api 记录
  3. Yii通过控制台命令创建定时任务
  4. 设置Tomcat应用自动部署目录
  5. C#并行和多线程编程_(1)认识Parallel
  6. EntityFramework-DBFirst-重新生成后写的验证消失(解决办法)
  7. 树莓派2 安装mono3.0运行mvc4
  8. Nhibernate cookbook 3.0-翻译
  9. 换一换js
  10. [转载]C# 中对html 标签过滤