目测是DP,但是还没有优化
dp[i][j]表示前i个方块 并以j颜色为结尾颜色的最小花费
状态转移方程
dp[i][j] =min{ dp[i-1][k] } (k不等于j)
int solve(int n,int k,int cost**) {
int dp[n][k];
for(int u = 0;u<k;u++){
dp[0][u] = cost[u][0];
}
for(int i = 1;i<n;i++){
for(int k1 = 0;k1<k;k1++){
int min = 1000;
for(int l = 0;l<k;l++){
if(l == k1)
continue;
if(dp[i-1][l]<min){
min = dp[i-1][l];
}
}
dp[i][k1] = min+cost[k1][i];
}
}
int result = dp[n-1][0];
for(int i = 0;i<k;i++){
if(result <dp[n-1][i]){
result = dp[n-1][i];
}
}
return result;
}