zoukankan      html  css  js  c++  java
  • hdu2577 dp

    也可以字符串搞。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
    ",ans);
        }
    }
  • 相关阅读:
    2.8
    2.7
    2.6
    2.5
    2.4第三篇读后感
    2.2第一篇读后感
    2.1
    字符统计
    6468: Snuke's Coloring
    6463: Tak and Hotels II
  • 原文地址:https://www.cnblogs.com/sweat123/p/4747076.html
Copyright © 2011-2022 走看看