125 - Numbering Paths
来源:互联网 发布:easybcd引导ubuntu灰色 编辑:程序博客网 时间:2024/05/17 08:11
统计路径数量 用warshall算法就行 即 a[i][j] += a[i][k]*a[k][j];
但是要判断环的存在 a[k][k] !=0 代表有环 只要经过K点 则路径数就不确定 设为-1;
#include<cstdio>
#include<cstring>int a[100][100];
int main()
{
int count = 0,n,x,y;
while(scanf("%d",&n)==1)
{
memset(a,0,sizeof(a));
int min=-1;
for(int i = 0; i < n; i++)
{
scanf("%d %d",&x,&y);
a[x][y] = 1;
if(min < x) min = x;
if(min < y) min = y;
}
for(int k = 0; k <= min; k ++)
for(int i = 0; i <= min; i++)
for(int j = 0; j <= min; j++)
a[i][j] += a[i][k]*a[k][j];
for(int k = 0; k <= min; k ++)
if(a[k][k])
for(int i = 0; i <= min; i++)
for(int j = 0; j <= min; j++)
if(a[i][k]&&a[k][j])
a[i][j] = -1;
printf("matrix for city %d\n",count++);
for(int i = 0; i <= min; i++)
{
for(int j = 0; j <= min-1; j++)
printf("%d ",a[i][j]);
printf("%d\n",a[i][min]);
}
}
return 0;
}
- uva 125 - Numbering Paths
- 125 - Numbering Paths
- UVA - 125 Numbering Paths
- UVA 125 Numbering Paths
- uva 125Numbering Paths
- 125 - Numbering Paths 解题报告
- UVA 125 - Numbering Paths(floyd)
- UVa 125 Numbering Paths / floyd
- UVA - 125 Numbering Paths floyd的变形
- Numbering Paths - UVa 125 Floyd求环
- uva 125 Numbering Paths(warshall算法)
- Numbering Paths (Uva 125 floyd+dp思想)
- UVa 125 Numbering Paths (路径统计+Floyd)
- HDU-1625-Numbering Paths
- UVa125 - Numbering Paths
- uva 125 - Numbering Paths(Warshall求解路径总数)
- UVA125 - Numbering Paths(floyd)
- hdu1625 Numbering Paths (floyd判环)
- ASPxComboBox属性设置
- 学习笔记(ZendFramework2)值Module无法初始化
- 移动互联网产品设计
- JSTL知识点概览
- 165 - Stamps
- 125 - Numbering Paths
- Oracle后台进程之:Slave Processes
- 7.微软亚院之编程判断俩个链表是否相交(为了简化问题,我们假设俩个链表均不带环)
- How to Install JDK6 or JDK7 in Linux
- hdu 1255
- 去除掉数组中的值为0的项 (指定的某一项或者多项)
- oracle物理结构和逻辑结构
- Tomcat
- 利用Register protocol实现网页调用桌面程序(类似迅雷、QQ等)