행렬 곱셈 순서 4
시간 제한1초메모리 제한512 MB
행과 열의 개수가 단조 감소하는 행렬 N개를 주어진 순서대로 곱할 때 필요한 곱셈 횟수의 최솟값을 구합니다.
문제
크기가 인 행렬 와 인 행렬 를 곱할 때 필요한 곱셈 연산의 수는 총 번이다. 행렬 개를 곱하는 데 필요한 곱셈 연산의 수는 행렬을 곱하는 순서에 따라 달라진다.
예를 들어, 의 크기가 이고, 의 크기가 , 의 크기가 인 경우에 행렬의 곱 를 구하는 경우를 생각해보자.
- 를 먼저 곱하고 를 곱하는 경우, 에 필요한 곱셈 연산의 수는 번이다.
- 를 먼저 곱하고 를 곱하는 경우, 에 필요한 곱셈 연산의 수는 번이다.
같은 곱셈이라도 순서에 따라 곱셈 연산의 수가 달라진다.
행렬 개의 크기가 주어졌을 때, 모든 행렬을 곱하는 데 필요한 곱셈 연산 횟수의 최솟값을 구하는 프로그램을 작성하시오. 입력으로 주어진 행렬의 순서는 바꿀 수 없다.
입력
첫째 줄에 행렬의 개수 ()이 주어진다.
둘째 줄부터 번째 줄까지, 번째 줄에는 번째 행렬의 크기 과 가 주어진다. ()
항상 순서대로 곱셈을 할 수 있는 크기만 입력으로 주어진다.
주어지는 행렬의 크기는 단조감소함이 보장된다. 즉, 에 대해 이고 이다.
출력
첫째 줄에 입력으로 주어진 행렬을 곱하는 데 필요한 곱셈 연산의 최솟값을 출력한다. 정답은 보다 작거나 같은 자연수이다. 또한, 최악의 순서로 연산해도 연산 횟수가 보다 작거나 같다.