Problem4177--油漆房子(Paint House)

4177: 油漆房子(Paint House)

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 256 MiB

Description

这里有 $n$ 个房子在一列直线上,现在我们需要给房屋染色,分别有红色蓝色和绿色。每个房屋染不同的颜色费用也不同,你需要设计一种染色方案使得相邻的房屋颜色不同,并且费用最小,返回最小的费用。
费用通过一个 $n \times 3$ 的矩阵给出,比如 cost[0][0] 表示房屋 $0$ 染红色的费用,cost[0][1] 表示房屋 $0$ 染蓝色的费用,cost[1][2] 表示房屋 $1$ 染绿色的费用。

Input

第一行为整数 $n$,表示房子的数量,$1 ≤ n < 100$。
后面跟着 $n$ 行。每行三个整数,数据之间用空格隔开,分别表示油漆称为红色、蓝色和绿色的费用。

Output

一行包括一个整数,表示最小费用。

Sample 1 Input

3
14 2 11
11 14 5
14 3 10

Sample 1 Output

10
将 $0$ 号房子粉刷成蓝色,$1$ 号房子粉刷成绿色,$2$ 号房子粉刷成蓝色。 最少花费:$2+5+3=10$。

HINT

题目来源:
LeetCode 256。
LintCode 515

Source/Category

基础算法 4.120.动态规划 4.120.序列型动态规划