【USACO练习题目】奶牛接力

来源:互联网 发布:电脑版炒股软件 编辑:程序博客网 时间:2024/04/30 08:57

Description

FJ 的N(2 <= N <= 1,000,000)头奶牛选择了接力跑作为她们的日常锻炼项目。至于进行接力跑的地点,自然是在牧场中现有的T(2 <= T <= 100)条跑道上。
农场上的跑道有一些交汇点,每条跑道都连结了两个不同的交汇点I1i和I2i(1 <= I1i <=1,000; 1 <= I2i <= 1,000)。每个交汇点都是至少两条跑道的端点。奶牛们知道每条跑道的长度lengthi(1 <= lengthi <= 1,000),以及每条跑道连结的交汇点的编号。并且,没有哪两个交汇点由两条不同的跑道直接相连。你可以认为这些交汇点和跑道构成了一张图。
为了完成一场接力跑,所有N 头奶牛在跑步开始之前都要站在某个交汇点上(有些交汇点上可能站着不只1头奶牛)。当然,她们的站位要保证她们能够将接力棒顺次传递,并且最后持棒的奶牛要停在预设的终点。
你的任务是,写一个程序,计算在接力跑的起点(S)和终点(E)确定的情况下,奶牛们跑步路径可能的最小总长度。显然,这条路径必须恰好经过N条跑道。

Input

第1行: 4个用空格隔开的整数:N,T,S,以及E
第2..T+1行: 第i+1为3个以空格隔开的整数:lengthi,I1i,以及I2i,描述了第i条跑道。

Output

1行:输出1个正整数,表示起点为S、终点为E,并且恰好经过N 条跑道的路径的最小长度
Sample Input
2 6 6 4
11 4 6
4 4 8
8 4 9
6 6 8
2 6 9
3 8 9
Sample Output
10

题目的数据范围不大,100而已,先离散化,在建立矩阵,a[i,j]表示i到j的最小值的和,只要把矩阵乘法改为c[i,j]=min(c[i,j],a[i,k]*b[k,j])(其中a[i,k]>0,b[k,j]>0) c[s,e]及答案

type
arr=array[1..100,1..100]of longint;

var
a,b,n,m,s,e,i,j,l,x,y,t:longint;
c,d:arr;
f:array[1..10000]of longint;

procedure jia(x,y:arr);
var
i,j,k:longint;
begin
for i:=1 to t do
for j:=1 to t do
c[i,j]:=maxlongint div 3;
for i:=1 to t do
for j:=1 to t do
for k:=1 to t do
if(x[i,k]

1 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 怀孕打胰岛素血糖控制不好怎么办 孕后期憋的难受怎么办 怀孕6个月不想生怎么办 孕六个月不想要怎么办 怀孕9个月喝酒了怎么办 怀孕8个月喝醉了怎么办 怀孕6个月胃酸烧心怎么办 怀孕7个月胃酸怎么办 怀孕5个月胃酸怎么办 怀孕2个月胃酸怎么办 怀孕六个月胃酸烧心怎么办 孕六个月反胃酸怎么办 怀孕三个月胃酸吐酸水怎么办 孕六个月胃难受怎么办 孕6个月胃酸厉害怎么办 孕妇6个月胃酸怎么办 孕早期胎盘早剥怎么办 孕妇晕车怎么办最有效方法 怀孕了受凉胃疼怎么办 怀孕4个月胎位低怎么办 6个月胎位低怎么办 7个多月了胎位低怎么办 瑜伽按摩球破了怎么办 孕妇吐完胸口疼怎么办 孕25周胸口堵怎么办呢 孕期没做过产检怎么办 宝宝的泪囊堵塞怎么办 瑜伽球塞子丢了怎么办 瑜伽球塞子没了怎么办 练阴瑜伽是想睡怎么办 肠道引流拨断了怎么办 瑜伽动作做不到位怎么办 胃肠吸收不好一直长不胖怎么办 小孩把泡泡糖吞进肚子怎么办 练习瑜伽又?带硬怎么办 天气太热没有空调怎么办 腹股沟岔气怎么办才能快点好 瑜伽馆不给退卡怎么办 膝盖总是凉凉的怎么办 练阴瑜伽腿麻怎么办 瑜伽垫在地板滑怎么办