hdu 3631 多源最短路

2022-09-18 07:54:29 字數 1181 閱讀 6996

這題就是floyd變形,只要理解了floyd演算法,題目還是不難的。不過我還是wa了一次,原理是在執行floyd的時候,誤加了兩個判斷,以為當i,j未被標記的時候,i到j的路徑不必更新,其實這是錯的,去掉以後就過了。

/*

* hdu3631/win.cpp

* created on: 2011-9-6

* author : ben

*/#include

<

cstdio

>

#include

<

cstdlib

>

#include

<

cstring

>

#include

<

cmath

>

#include

<

algorithm

>

using

namespace

std;

const

intsize

=310

;const

intmax

=0x7fffffff

;int

map[size][size];

bool

marked[size];

intn, m;

void

init()

map[i][i] =0

;}for(

intk =0

; k

<

m; k

++) }}

void

floyd(

intk) }}

}void

work()

if(t

>0)

printf(

"case %d:\n",

++t);

init();

memset(marked,

false

, sizeof

(marked));

for(

inti =0

; i

<

q; i

++)

else

} else

else

} else}}

}}intmain()

多源最短路

題目描述 已知n個點 n 100 給你n n的方陣,a i,j 表示從第i個點到第j個點的直接距離。現在有q個詢問,每個詢問兩個正整數,a和b,讓你求a到b之間的最短路程。滿足a i,j a j,i 輸入描述 第一行乙個正整數n,接下來n行每行n個正整數,滿足a i,i 0,再一行乙個q,接下來q行...

多源最短路

題目描述 已知n個點 n 100 給你n n的方陣,a i,j 表示從第i個點到第j個點的直接距離。現在有q個詢問,每個詢問兩個正整數,a和b,讓你求a到b之間的最短路程。滿足a i,j a j,i 輸入描述 第一行乙個正整數n,接下來n行每行n個正整數,滿足a i,i 0,再一行乙個q,接下來q行...

多源最短路

時間限制 1 s 空間限制 128000 kb 題目等級 gold 已知n個點 n 100 給你n n的方陣,a i,j 表示從第i個點到第j個點的直接距離。現在有q個詢問,每個詢問兩個正整數,a和b,讓你求a到b之間的最短路程。滿足a i,j a j,i 第一行乙個正整數n,接下來n行每行n個正整...