裸的FLOYD 求最小环。

 #include <iostream>
#include <cstdio>
using namespace std;
const int inf=;
const int MAXN=;
int n,m,minc;
int map[MAXN][MAXN],dis[MAXN][MAXN]; void init(){
for(int i=;i<=n;i++){
for(int j=i;j<=n;j++)
map[i][j]=map[j][i]=dis[i][j]=dis[j][i]=inf;
map[i][i]=dis[i][i]=;
}
} void floyd(){
minc=inf;
int tmp;
for(int k=;k<=n;k++){
for(int i=;i<k;i++){
for(int j=i+;j<k;j++){
tmp=dis[i][j]+map[i][k]+map[k][j];
if(tmp<minc)
minc=tmp;
}
}
for(int i=;i<=n;i++){
for(int j=;j<=n;j++){
tmp=dis[i][k]+dis[k][j];
if(tmp<dis[i][j])
dis[i][j]=tmp;
}
}
}
} int main(){
int u,v,w;
while(scanf("%d%d",&n,&m)!=EOF){
init();
for(int i=;i<=m;i++){
scanf("%d%d%d",&u,&v,&w);
if(w<map[u][v])
map[u][v]=map[v][u]=dis[u][v]=dis[v][u]=w;
}
floyd();
if(minc==inf)
printf("It's impossible.\n");
else printf("%d\n",minc);
}
return ;
}

最新文章

  1. Flex数据绑定陷阱(一)
  2. Codeforces Round #336 (Div. 2)
  3. 数据可视化(3)--Google Charts
  4. Linux建立软连接
  5. Initialization and Class loading - Java
  6. Caused by: java.lang.ClassNotFoundException: com/sun/tools/internal/xjc/api/XJC
  7. IDEA新建SpringMVC项目报错解决办法
  8. 工具类_java 数字转化为汉字大写
  9. android使用ffmpeg
  10. 同时操作两个数据库:报错Illegal attempt to associate a collection with two open sessions
  11. firebird常用语句
  12. MySQL 笔记(Mysql 8.0.16)
  13. javascript sort 函数用法
  14. Jenkins部分插件介绍
  15. zombodb安装试用
  16. 会话保持及Form表单
  17. tomcat中配置https请求
  18. spring boot 延长 Session 时间
  19. C# 用timer做成服务后 timer_Tick () 为什么不执行?
  20. android异步处理机制

热门文章

  1. python多线程,限制线程数
  2. 快速排序及三向切分快排——java实现
  3. 第14章 Wi-Fi系统应用 14.1 了解Wi-Fi系统的结构
  4. PCB C# 连接MongoDB 数据库
  5. PCB MS SQL 将字符串分割为表变量(表值函数)
  6. UILabel垂直方向显示(上下的顺序显示)。
  7. SQLServer In和Exists
  8. Laravel5.1学习笔记3 HTTP中间件
  9. macOS下登录store或者xcode等应用时提示【this action could not be completed】
  10. OpenCV:OpenCV目标检测Adaboost+haar源代码分析