zoukankan      html  css  js  c++  java
  • PAT (Advanced Level) 1112. Stucked Keyboard (20)

    找出一定没问题的字符(即一连串的额字符x个数能被k整除的),剩下的字符都是可能有问题的。

    #include<cstdio>
    #include<cstring>
    #include<cmath>
    #include<vector>
    #include<map>
    #include<queue>
    #include<stack>
    #include<algorithm>
    using namespace std;
    
    int k;
    char s[2000];
    int flag[2000];
    vector<int>ans;
    char out[2000];
    int sz;
    int dd[2000];
    
    int main()
    {
        memset(dd,0,sizeof dd);
        memset(flag,0,sizeof flag);
        scanf("%d",&k);
        scanf("%s",s);
        int len=strlen(s);
    
        int L=0;
        while(1)
        {
            int R;
            for(int i=L; s[i]; i++)
            {
                if(s[i]==s[L]) R=i;
                else break;
            }
            if((R-L+1)%k!=0) flag[s[L]]=1;//一定不破
            L=R+1;
            if(L>=len) break;
        }
        memset(out,0,sizeof out);
        sz=0;
        int p=0;
        while(1)
        {
            if(p>=len) break;
            if(flag[s[p]]==1)
            {
                out[sz++]=s[p];
                p++;
            }
            else
            {
                out[sz++]=s[p];
                ans.push_back(s[p]);
                p=p+k;
    
            }
        }
        for(int i=0; i<ans.size(); i++)
            if(dd[ans[i]]==0)
            {
                dd[ans[i]]=1;
                printf("%c",ans[i]);
            }
    
        printf("
    %s
    ",out);
        return 0;
    }
  • 相关阅读:
    利用cookie实现iframe刷新时停留在当前页面
    css定位学习经验记录
    用div加css做表格去掉外围边框
    利用css中的background-position定位图片
    css3实现圆形逐渐减少动画
    The Best Path
    3998
    YAPTCHA(hdu2973)
    1556 计算
    1808: 地铁
  • 原文地址:https://www.cnblogs.com/zufezzt/p/5645027.html
Copyright © 2011-2022 走看看