2. [Multistage Graph] Carilah jalur terpendek dari node A ke node L pada multistage graph
dibawah menggunakan metode dynamic programming (backward)!
1. Step 1 : Membuat tabel dynamic programing untuk menentukan keuntungan maksimum dengan formula :
i/w 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
A 0 0 0 0 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15
B 0 0 0 28 28 28 28 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33
C 0 0 14 28 28 42 42 42 42 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57
D 0 0 14 20 28 42 42 54 68 68 82 82 82 82 97 97 97 97 97 97 97 97 97 97 97 97 97 97
E 0 0 14 20 28 42 42 54 68 68 82 82 82 82 97 97 97 104 118 118 132 132 133 133 147 147 147 147
F 0 0 14 20 28 42 42 54 68 68 82 82 82 82 97 97 97 104 118 127 132 132 133 133 147 147 147 147
G 0 0 14 20 28 42 42 54 68 89 103 103 117 117 129 143 143 143 144 158 173 173 187 187 188 188 202 207
Sehingga ditemukan 2 jalur yag memiliki nilai terendah yang sama yaitu :
A – B – H – K – L dan A – B – H – J - L
P/B A B C D
A ∞ 6 2 ∞
B 5 ∞ ∞ 5
C 4 3 ∞ 3
D 4 ∞ 7 ∞
Step 2 : Mencari jalur terpendek berdasarkan arah yang dibuat dengan formula :
#include<stdio.h>
int main()
{
int i, j;
int arr[] = {1,5,10,25,50,100};
int m = sizeof(arr)/sizeof(arr[0]);
printf("%d ", count(arr, m, 284));
getchar();
return 0;
}
Maka diketahui banyaknya kombinasi yang mungkin adalah 9442