简单DP
/*
* tyvj-1195
* mikew
* 2012-9-29
* simple DP
*/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MAXN 111
int a[MAXN], b[MAXN], c[MAXN];
int opt[MAXN][2]; /* 0: chopsticks; 1: spoon */
int n;
int min(int e1, int e2)
{
return e1<e2?e1:e2;
}
int main(void)
{
int i;
scanf("%d", &n);
for(i=0; i<n; i++)
scanf("%d%d%d", a+i, b+i, c+i);
opt[0][0]=b[0];
opt[0][1]=c[0]+a[0];
for(i=1; i<n; i++)
{
opt[i][0]=min(opt[i-1][0], opt[i-1][1]+c[i])+b[i];
opt[i][1]=min(opt[i-1][1], opt[i-1][0]+c[i])+a[i];
}
printf("%d\n", min(opt[n-1][0], opt[n-1][1]));
return 0;
}