• AtCoder Grand Contest 011D(思维,规律,异或)


    #include<bits/stdc++.h>
    using namespace std;
    char s[200007];
    int ans[200007];
    int main(){
        int n,k;
        int i=0,j=0,l=0;
        scanf("%d%d",&n,&k);
        scanf("%s",s+1);
        for(i=1;i<=n;i++)
            if(s[i]=='A')
                ans[i]=1;
        int tmp=0;
        for(i=1,j=1;i<=k&&j<=n;i++){
            if(ans[j]^tmp){//如果这一位经历异或之后变为了1需要再变一次把它变成0,因为这一位终将变成相当于这一步的开头第一位
                ans[j]^=1;//将它变成0
                continue;
            }
            tmp^=1;//变化异或标记
            j++;//进入下一位
        }
        if(i>=k+1){//k太小以至于前面还有剩余没有变为最终形态
            for(l=j;l<=n;l++)
                if(ans[l]^tmp)//后面的位数根据奇偶性进行变化
                    printf("A");
                else
                    printf("B");
            for(l=n+1;l<=n+j-1;l++)//最后面是找出的规律
                if((n+j-l)&1)
                    printf("A");
                else
                    printf("B");
        }
        else{
            if(n&1){//奇数则判断开头剩余是规律
                if((k-i+2)&1)
                    printf("A");
                else
                    printf("B");
                for(l=2;l<=n;l++)
                    if(l&1)
                        printf("A");
                    else
                        printf("B");
            }
            else
                for(l=1;l<=n;l++)
                    if((l+1)&1)
                        printf("A");
                    else
                        printf("B");
        }
        return 0;
    }

    保持热爱 不懈努力 不试试看怎么知道会失败呢(划掉) 世上无难事 只要肯放弃(划掉)
  • 相关阅读:
    extern "C" 分析 转
    Python标准库3.4.3webbrowser21.1
    rxtx java lib /var/lock issue
    list installed package & remove installed package & find package from repository Archlinux
    eclipse initialize
    add repo for CentOS
    RPMforge for CentOS
    Install Core Development Tools
    [Qtcreator] CMake + Multiple Build configuration
    list installed package & remove installed package & find package from repository
  • 原文地址:https://www.cnblogs.com/ldudxy/p/10459551.html
Copyright © 2020-2023  润新知