Light OJ 1047

来源:互联网 发布:noteledge mac 编辑:程序博客网 时间:2024/06/06 04:38

  dp入门题,基础中的基础,感觉Light OJ 上的题选的挺好的,循序渐进。

直接上代码吧。

#include<cstdio>#include<iostream>#include<cstring>using namespace std;int h[22][3],dp[22][3];int main(){    int T,n,i,j,t;    cin>>T;    for(t=1;t<=T;t++)    {        cin>>n;        for(i=1;i<=n;i++)            cin>>h[i][0]>>h[i][1]>>h[i][2];        memset(dp,0,sizeof(dp));        for(i=0;i<3;i++)           dp[1][i]=h[1][i];        for(i=2;i<=n;i++)            for(j=0;j<3;j++)            dp[i][j]+=min(dp[i-1][(j+1)%3],dp[i-1][(j+2)%3])+h[i][j];        int ans;        ans=min(dp[n][0],min(dp[n][1],dp[n][2]));        printf("Case %d: %d\n",t,ans);    }    return 0;}


0 0
原创粉丝点击