https://www.acmicpc.net/problem/1149
#include <iostream>
#include <algorithm>
using namespace std;
int dp[1001][3];
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int n;
cin >> n;
for (int i = 0; i < n; i++) {
int r, g, b;
cin >> r >> g >> b;
if (i > 0) {
dp[i][0] = min(dp[i - 1][1], dp[i - 1][2]) + r;
dp[i][1] = min(dp[i - 1][0], dp[i - 1][2]) + g;
dp[i][2] = min(dp[i - 1][0], dp[i - 1][1]) + b;
}
else {
dp[i][0] = r;
dp[i][1] = g;
dp[i][2] = b;
}
//cout << "dp " << i << "번째 : " << dp[i][0] << "," << dp[i][1] << "," << dp[i][2] << "\n";
}
if (dp[n - 1][0] <= dp[n - 1][1]) {
if (dp[n - 1][0] <= dp[n - 1][2]) cout << dp[n - 1][0] << "\n";
else cout << dp[n - 1][2] << "\n";
}
else {
if (dp[n - 1][1] <= dp[n - 1][2]) cout << dp[n - 1][1] << "\n";
else cout << dp[n - 1][2] << "\n";
}
return 0;
}