Динамическое программирование. Задача о порядке перемножения матриц.