CCCPaste

Untitled

#include 
#include 
using namespace std;

int dp[25][10][10];
int main()
{
    int n;
    cin>>n;
    int m[n][3];
    for(int i=0; i>m[i][j];
        }
    }

    for(int i=0; i<=n; i++){
        for(int j=0; j<3; j++){
                for(int z= 0; z < 3; z++) {
            dp[i][j][z]=2e9;
                }
        }
    }
    dp[0][0][0]=m[0][0];
    dp[0][1][1]=m[0][1];
    dp[0][2][2]=m[0][2];
    
    for(int i = 1; i < n; i++) {
        for(int j = 0; j < 3; j++) {
            dp[i][0][j] = min(dp[i - 1][1][j], dp[i - 1][2][j]) + m[i][0];
            dp[i][1][j] = min(dp[i - 1][0][j], dp[i - 1][2][j]) + m[i][1];
            dp[i][2][j] = min(dp[i - 1][0][j], dp[i - 1][1][j]) + m[i][2];
        }
    }
    int result = 2e9;
    for(int i = 0; i < 3; i++) {
        for(int j = 0; j < 3; j++ ){
            if(i != j) {
                result = min(result, dp[n - 1][i][j]);
            }
        }
    }
    cout << result << endl;
    return 0;
}