, .
( ).
.
: . . C++ Builder.
. : , ( ) . , , , 100 . , .
1.1
.
.
:
- ;
- ;
- .
1.3
, . (), - (), , , . 1736 ., " ": , . 19- , . () (). 30- 20- . , , , , .
1.3.1
G (.1.1) () 1, 2,..., n. ( ) () 1, 2,...,m. ( ), . , G ( ) (, ). , , , .
|
|
|
| ||||
, -, .
, , ( ).
, , . ( ) , , , .
, . 1.2 :
6, 5, 9, 8, 4. (1)
1, 6, 5, 9. (2)
1, 6, 5, 9, 10, 6, 4. (3)
() , .
, . , (2).
, , . , a1, a2,..., aq, i, , i-1 i+1 .
, . 1.2, ; , , .. . . , (1) : 2, 5, 4, 3, 5, 6. , , , . . , . , .
(a1, a2,..., aq), l(), , , .
1.3.2
.
, .
i j . ui 1 i, dij - (i, j). j [uj, :
[uj, i] = [ui + dij, i], dij >= 0
: . , . , , .
.
0. ( 1) [0, -]. i = 1.
|
|
i. ) [ui + dij, i] j, i . j [uj, k], k, ui + dij < uj, [uj, k] [ui + dij, i].
b) , . [ur, s] ur ( , ). i = r i.
. 2 , ( ( ) ). 1 ( 1) .
.2.
0. 1 [0, -].
1. 1 2 3. , :
1 [0, -]
2 [0 + 100, 1] = [100, 1]
3 [0 + 30, 1] = [30, 1] <-
2 3 3 (u3 = 30). "".
2. 3 ( ) 4 5. :
1 [0, -]
2 [100, 1]
3 [30, 1]
4 [30 + 10, 3] = [40, 3] <-
5 [30 + 60, 3] = [90, 3]
[40, 3] 4 (u4 = 40).
3. 4 2 5. :
1[0, -] 2[40 + 15, 4] = [55, 4] <- 3[30, 1] 4[40, 3] 5[90, 3] [40 + 50, 4] = [90, 4]
[100, 1], 2 , [55, 4]. , ( 4). 5 u5 = 90.
4. 2 3, , . , , : 2 . 5, , .
, 3.
.3 ( )
1 , . , 1 2 : (2) -> [55, 4] -> (4) -> [40, 3] -> (3) -> [30, 1] -> (1).
, 1->3->4->2 55 .
Windows 98/NT/XP/Vista/se7en/Win8.