UVA-10048 Audiophobia(最短路上的最小值,Folyd)
2016-05-24 13:31
507 查看
原有的Floyd算法应该是:
此处只需要把加号改成max即可
for(int k = 1;k <= N;k++) for(int p = 1;p <= N;p++) for(int q = 1;q <= N;q++) { if(d[p][k] == INF || d[k][q] == INF) continue; d[p][q] = min(d[p][q],d[p][k] + d[k][q])); }
此处只需要把加号改成max即可
//#include <bits/stdc++.h> //#define _ ios_base::sync_with_stdio(0);cin.tie(0); #include <iostream> #include <sstream> #include <iomanip> #include <vector> #include <deque> #include <list> #include <set> #include <map> #include <stack> #include <queue> #include <bitset> #include <string> #include <numeric> #include <algorithm> #include <functional> #include <iterator> #include <cstdio> #include <cstring> #include <cmath> #include <cstdlib> #include <cctype> #include <complex> #include <ctime> #define INF 0x3f3f3f3f #define eps 1e-8 typedef long long LL; const double pi = acos(-1.0); const long long mod = 1e9 + 7; using namespace std; int M,N,Q; int d[1005][1005]; int main() { int T = 0; //freopen("int.txt","r",stdin); //freopen("out.txt","w",stdout); while(scanf("%d %d %d",&N,&M,&Q)) { if(!N && !M && !Q) break; for(int i = 1;i <= N;i++) for(int j = 1;j <= N;j++) d[i][j] = (i == j) ? 0 : INF; int l,r,n; for(int i = 0;i < M;i++){ scanf("%d %d %d",&l,&r,&n); d[l][r] = d[r][l] = n; } for(int k = 1;k <= N;k++) for(int p = 1;p <= N;p++) for(int q = 1;q <= N;q++) { if(d[p][k] == INF || d[k][q] == INF) continue; d[p][q] = min(d[p][q],max(d[p][k],d[k][q])); } if(T) puts(""); printf("Case #%d\n",++T); while(Q--) { int c1,c2; scanf("%d %d",&c1,&c2); if(d[c1][c2] == INF) puts("no path"); else printf("%d\n",d[c1][c2]); } } return 0; }
相关文章推荐
- linux crontab定时任务调用CI框架PHP代码
- Ubantu安装cuda驱动教程
- xshell登录Linux太慢解决方法
- Css3的Media Query方法总结—让您的网站兼容手机
- 如何编译带有extra modules(opencv_contrib)的opencv源码
- Linux权限管理及用户
- 软件架构设计-五视图方法论
- Linux下openoffice安装以及启动服务
- shell脚本循环的意义和概念
- Linux文件权限详解
- shell脚本if与read语句用法练习
- OpenStack的基本概念与架构图
- SparkStream文件监控和数据读取
- shell脚本基础与练习
- tomcat启用不同端口,同时启动多个项目
- 史上最全linux内核配置详解
- Linux内核配置和编译过程详解
- php和nginx默认上传文件大小限制的解决办法
- 《linux内核设计与实现》实践之模块及深入
- 重置CentOS 7的root密码