1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 using namespace std; 5 int T,TT,n; 6 int a[22][22],ans[22][22]; 7 int main() 8 { 9 int i,j,k; 10 scanf("%d",&T); 11 for(TT=1;TT<=T;TT++) 12 { 13 scanf("%d",&n); 14 for(i=1;i<=n;i++) 15 for(j=0;j<3;j++) 16 scanf("%d",&a[i][j]); 17 memset(ans,0x3f,sizeof(ans)); 18 ans[1][0]=a[1][0]; 19 ans[1][1]=a[1][1]; 20 ans[1][2]=a[1][2]; 21 for(i=2;i<=n;i++) 22 for(j=0;j<3;j++) 23 for(k=0;k<3;k++) 24 { 25 if(j==k) continue; 26 ans[i][j]=min(ans[i][j],ans[i-1][k]+a[i][j]); 27 } 28 printf("Case %d: %d\n",TT,*min_element(ans[n],ans[n]+3)); 29 } 30 return 0; 31 }
原文地址:https://www.cnblogs.com/hehe54321/p/loj-1047.html
时间: 2024-10-13 03:14:06