HDU 1599
2024-08-31 05:43:48
裸的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 ;
}
最新文章
- Flex数据绑定陷阱(一)
- Codeforces Round #336 (Div. 2)
- 数据可视化(3)--Google Charts
- Linux建立软连接
- Initialization and Class loading - Java
- Caused by: java.lang.ClassNotFoundException: com/sun/tools/internal/xjc/api/XJC
- IDEA新建SpringMVC项目报错解决办法
- 工具类_java 数字转化为汉字大写
- android使用ffmpeg
- 同时操作两个数据库:报错Illegal attempt to associate a collection with two open sessions
- firebird常用语句
- MySQL 笔记(Mysql 8.0.16)
- javascript sort 函数用法
- Jenkins部分插件介绍
- zombodb安装试用
- 会话保持及Form表单
- tomcat中配置https请求
- spring boot 延长 Session 时间
- C# 用timer做成服务后 timer_Tick () 为什么不执行?
- android异步处理机制
热门文章
- python多线程,限制线程数
- 快速排序及三向切分快排——java实现
- 第14章 Wi-Fi系统应用 14.1 了解Wi-Fi系统的结构
- PCB C# 连接MongoDB 数据库
- PCB MS SQL 将字符串分割为表变量(表值函数)
- UILabel垂直方向显示(上下的顺序显示)。
- SQLServer In和Exists
- Laravel5.1学习笔记3 HTTP中间件
- macOS下登录store或者xcode等应用时提示【this action could not be completed】
- OpenCV:OpenCV目标检测Adaboost+haar源代码分析