RGB 거리
면접 대비시간 제한0.5초메모리 제한128 MB
일렬로 늘어선 집들을 세 가지 색으로 칠할 때 인접한 집끼리 색이 겹치지 않도록 하면서 총 비용을 최소화하는 문제입니다.
문제
일렬로 놓인 집이 N개 있다. 집은 1번부터 N번까지 순서대로 놓여 있다.
각 집은 빨강, 초록, 파랑 중 하나로 칠해야 한다. 각 집을 세 가지 색으로 칠하는 비용이 주어질 때, 다음 조건을 모두 만족하도록 모든 집을 칠하는 최소 비용을 구한다.
- 1번 집의 색은 2번 집의 색과 달라야 한다.
N번 집의 색은N-1번 집의 색과 달라야 한다.2 ≤ i ≤ N-1인 모든i에 대해,i번 집의 색은i-1번 집과i+1번 집의 색과 달라야 한다.
입력
첫째 줄에 집의 수 N이 주어진다. (2 ≤ N ≤ 1,000)
둘째 줄부터 N개의 줄에는 1번 집부터 순서대로 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 한 줄에 하나씩 주어진다. 각 비용은 1 이상 1,000 이하의 자연수이다.
출력
모든 집을 조건에 맞게 칠하는 데 필요한 최소 비용을 출력한다.