POJ-3613-Cow Relays
来源:互联网 发布:谷歌翻译 mac 编辑:程序博客网 时间:2024/06/04 19:24
#include<stdio.h>#include<string.h>#include<algorithm>#include<iostream>using namespace std;#define INF ((1<<30)-1)int n;struct matrix{ int mat[201][201]; matrix(){ for(int i=0;i<201;i++) for(int j=0;j<201;j++)mat[i][j]=INF; }};int f[2001];matrix mul(matrix A,matrix B){ matrix C; int i,j,k; for(i=1;i<=n;i++) { for(j=1;j<=n;j++) { for(k=1;k<=n;k++) { C.mat[i][j]=min(C.mat[i][j],A.mat[i][k]+B.mat[k][j]); } } } return C;}matrix powmul(matrix A,int k){ matrix B; for(int i=1;i<=n;i++)B.mat[i][i]=0; while(k) { if(k&1)B=mul(B,A); A=mul(A,A); k>>=1; } return B;}int main(){ matrix A; int k,t,s,e,a,b,c; scanf("%d%d%d%d",&k,&t,&s,&e); int num=1; while(t--) { scanf("%d%d%d",&c,&a,&b); if(f[a]==0)f[a]=num++; if(f[b]==0)f[b]=num++; A.mat[f[a]][f[b]]=A.mat[f[b]][f[a]]=c; } n=num-1; A=powmul(A,k); cout<<A.mat[f[s]][f[e]]<<endl; return 0;}
0 0
- poj 3613 Cow Relays
- POJ-3613-Cow Relays
- poj 3613 Cow Relays
- poj 3613 Cow Relays
- poj 3613 Cow Relays
- POJ 3613 Cow Relays
- poj 3613 Cow Relays
- POJ 3613 Cow Relays
- POJ-3613-Cow Relays-矩阵
- POJ--3613[Cow Relays] floyd 倍增法
- POJ 3613 Cow Relays [矩阵连乘]
- POJ 3613 Cow Relays floyd + 快速幂
- POJ--3613[Cow Relays] floyd 倍增法
- POJ 3613 Cow Relays Floyd最短路
- POJ 3613 Cow Relays floyd+快速幂
- poj 3613 Cow Relays (floyd快速幂)
- POJ 3613 Cow Relays 倍增Floyd
- Poj 3613 Cow Relays【Floyd+快速幂】
- action中result的各种转换类型
- 正则表达式初步_分散字符串
- 拥有尊严 (愿与君共勉)
- 史上最强视频网站真实地址解析
- iis6+php 环境搭建
- POJ-3613-Cow Relays
- 20060113-Synthesizing images using simple equations
- 实验十五_安装新的int 9中断例程
- 经典算法之计数排序
- 快速排序算法
- 选择沉默(愿与君共勉)
- 02-05正则表达式进阶_展开串
- 1009.二叉搜索树
- Java访问修饰符