Soal 5 Olimpiade Sains Mahasiswa 2007, Yogyakarta.
Deskripsi Soal :
Diberikan sebuah perkalian matriks, P=A*B*C*D, dengan ordo/ ukuan masing-masing A(20X50), B(50X100), C(100X10), dan D(10X30). Ada beberapa cara melakukan perkalian matriks ini, dan tiap cara mempunyai jumlah operasi perkalian yang berbeda, antara lain :
1) P=(A*B)*C*D => (20*50*100)+(20*100*10)+(20*10*30) = 126000 perkalian
2) P=A*((B*C)*D) => (50*100*10)+(50*10*30)+(20*50*30) = 95000 perkalian
3) P=A*(B*C)*D => (50*100*10)+(20*50*10)+(20*10*30) = 66000 perkalian
Ternyata jumlah operasi perkalian terkecil yang mungkin terjadi adalah 66000 perkalian, yaitu dengan P=A*(B*C)*D. Buatlah program yang menerima input 2 baris. Baris pertama adalah jumlah matriks(N) dan baris kedua berisi N+1 bilangan asli yang menyatakan ukuran matriks pada perkalian. Program harus meng-outputkan jumlah opersi perkalian terkecildari perkalian matriks tersebut.