hdu 1625 Numbering Paths floyd变形
来源:互联网 发布:淘宝购物流程图片 编辑:程序博客网 时间:2024/05/17 23:22
题意:给定一些带有编号点之间的连接关系,按照格式输出一个二维矩阵。矩阵中map[I][j]代表I到j有多少条路径,如果有无数条,则添上-1;
floyd算法变形,动态规划思想。k代表将第k个点引入“集合”中.
#include<cstdio>#include<cstring>#define Max(a,b) a>b?a:busing namespace std;const int maxn =40;int map[maxn][maxn];void floyd(int maxi){for(int k=0;k<maxi;k++){for(int i=0;i<maxi;i++)for(int j=0;j<maxi;j++)map[i][j]+=(map[i][k]*map[k][j]);}for(int k=0;k<maxi;k++)if(map[k][k]!=0)//有环,所有与k相连的都成环 {for(int i=0;i<maxi;i++)for(int j=0;j<maxi;j++)if(map[i][k]&&map[k][j])map[i][j]=-1;}for(int i=0;i<maxi;i++) {for(int j=0;j<maxi;j++)printf(" %d",map[i][j]);printf("\n");}}int main(){int n,a,b,maxi=-1,k=0;while(scanf("%d",&n)!=EOF){memset(map,0,sizeof(map));maxi=-1;for(int i=0;i<n;i++){scanf("%d%d",&a,&b);map[a][b]=1;if(maxi<(Max(a,b))){maxi=Max(a,b);}}maxi++;printf("matrix for city %d\n",k++);floyd(maxi);} }
0 0
- hdu 1625 Numbering Paths floyd变形
- hdu 1625 Numbering Paths 最短路的变形,使用Floyd 外加判环
- UVA - 125 Numbering Paths floyd的变形
- HDU-1625-Numbering Paths
- UVA 125 - Numbering Paths(floyd)
- UVa 125 Numbering Paths / floyd
- UVA125 - Numbering Paths(floyd)
- Numbering Paths - UVa 125 Floyd求环
- Numbering Paths (Uva 125 floyd+dp思想)
- UVa 125 Numbering Paths (路径统计+Floyd)
- hdu1625 Numbering Paths (floyd判环)
- hdu 1217(Floyd变形)
- hdu 3631(Floyd变形)
- 【变形Floyd】HDU-1217 Arbitrage
- [floyd]HDU 1181变形课
- HDU 1217 Arbitrage floyd变形
- HDU 4034 Graph(Floyd变形)
- uva 125 - Numbering Paths
- 详解Spring IoC容器
- spoj Can you answer these queries I(线段树 单点更新 区间查询)
- 标题: 马虎的算式
- 用嵌套列表表示的二叉树的相关操作
- 2012北邮网研院上机题
- hdu 1625 Numbering Paths floyd变形
- JVM内存溢出有什么优化、具体使用场景
- git 版本回退,撤销修改
- gvim常用的配置及插件 -windows
- Android-使用Android Studio实现第三方QQ登录
- 模板模拟实现栈
- python 字符串格式化
- 我们为什么要学习LINUX?
- linux学习笔记