码迷,mamicode.com
首页 > 其他好文 > 详细

hdu2577 dp

时间:2015-08-21 11:14:47      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:

也可以字符串搞。dp思路还是很清晰的。dp[][0]表示未锁定,dp[][1]表示锁定键。

#include<stdio.h>
#include<string.h>
#define maxn 110
char s[maxn];
int min(int x,int y)
{
    return x<y?x:y;
}
int main()
{
    int dp[maxn][3];//dp[][0]表示未锁定 dp[][1]表示锁定
    int i,j,t;
    scanf("%d",&t);
    while(t--)
    {
        scanf("%s",s);
        int len=strlen(s);
        for(i=len;i>0;i--)
            s[i]=s[i-1];
        memset(dp,0,sizeof(dp));
        dp[0][1]=1;
        for(i=1;i<=len;i++)
        {
            if(s[i]>=A&&s[i]<=Z)//
            {
                dp[i][1]=min(dp[i-1][0]+2,dp[i-1][1]+1);
                dp[i][0]=min(dp[i-1][0]+2,dp[i-1][1]+2);
            }
            else
            {
                dp[i][1]=min(dp[i-1][1]+2,dp[i-1][0]+2);
                dp[i][0]=min(dp[i-1][0]+1,dp[i-1][1]+2);
            }
        }
        int ans=min(dp[len][0],dp[len][1]+1);
        printf("%d\n",ans);
    }
}

 

hdu2577 dp

标签:

原文地址:http://www.cnblogs.com/sweat123/p/4747076.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!