zoukankan      html  css  js  c++  java
  • CF1379A Acacius and String

    Description

    https://codeforces.com/problemset/problem/1379/A

    Solution

    大水题,怎么暴力怎么来

    #include<iostream>
    #include<cstring>
    #include<cstdio>
    using namespace std;
    int T,n,cnt,tot,ans[105];
    char s[100],t[20]={'a','b','a','c','a','b','a'},c[100];
    bool tag;
    inline int read()
    {
        int f=1,w=0;
        char ch=0;
        while(ch<'0'||ch>'9')
        {
            if(ch=='-')
                f=-1;
            ch=getchar();
        }
        while(ch>='0'&&ch<='9')
        {
            w=(w<<1)+(w<<3)+ch-'0';
            ch=getchar();
        }
        return f*w;
    }
    void opt(char x)
    {
        if(x=='?')
            printf("d");
        else
            printf("%c",x);
    }
    int main()
    {
        T=read();
        for(;T;T--)
        {
            n=read();
            tot=cnt=0;
            tag=false;
            scanf("%s",s);
            for(int i=0;i<n-6;i++)
                for(int j=0;j<7;j++)
                {
                    if(s[i+j]!=t[j]&&s[i+j]!='?')
                        break;
                    if(j==6)
                        ans[++tot]=i;
                }
            for(int i=1;i<=tot;i++)
            {
                cnt=0;
                memcpy(c,s,sizeof(c));
                for(int j=0;j<7;j++)
                    c[ans[i]+j]=t[j];
                for(int j=0;j<n-6;j++)
                    for(int k=0;k<7;k++)
                    {
                        if(c[j+k]!=t[k])
                            break;
                        if(k==6)
                            cnt++;
                    }
                if(cnt>1||cnt==0)
                    continue;
                else if(cnt==1)
                {
                    puts("Yes");
                    tag=true;
                    for(int j=0;j<n;j++)
                        opt(c[j]);
                    printf("
    ");
                    break;
                }
            }
            if(!tag)
                puts("No");
        }
        return 0;
    }
    Acacius and String
  • 相关阅读:
    猜数字游戏
    发红包程序
    实现微信摇一摇部分功能
    计算1+1/2+1/3+....+1/100的值
    约瑟夫问题
    简易计时器
    简易学生管理系统
    文件加密解密
    分鱼问题
    分橘子问题
  • 原文地址:https://www.cnblogs.com/JDFZ-ZZ/p/13353565.html
Copyright © 2011-2022 走看看