hdu 5202 Rikka with string

/* ***********************************************
Author        :xryz
Email         :523689985@qq.com
Created Time  :4-11 19:03:38
File Name     :a.cpp
************************************************ */

#include <stdio.h>
#include <string.h>
#include <iostream>
#include <algorithm>
#include <vector>
#include <queue>
#include <set>
#include <map>
#include <string>
#include <math.h>
#include <stdlib.h>
#include <time.h>
using namespace std;
char s[1024];
int cnt,n,f,t[1024];
int huiwen()
{
    int i;
    for(i=0;i<=n/2+1;i++)
    {
        if(s[i]=='?'||s[n-1-i]=='?') return -1;
        if(s[i]!=s[n-1-i]) return 1;
    }
    return 0;
}
void dfs(int now)
{
    if(now==cnt)
    {
        if(huiwen()==1) f=1;
        return ;
    }
    for(int i='a';i<='z';i++)
    {
        s[t[now]]=i;
        dfs(now+1);
        if(f) return ;
    }
}
int main()
{
    int i;
    while(~scanf("%d",&n))
    {
        cnt=0;
        scanf("%s",s);
        for(i=0;i<n;i++)
        {
            if(s[i]=='?') t[cnt++]=i;
        }
        f=0;
        if(cnt!=0) dfs(0);
        else f=huiwen();
        if(f) printf("%s
",s);
        else printf("QwQ
");
    }
    return 0;
}
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cmath>
#include<ctime>
#include<iostream>
#include<algorithm>
using namespace std;
char s[1005];
int main()
{
    int i,n;
    while(scanf("%d",&n)!=EOF)
    {
        scanf("%s",s);
        bool isok=0;
        for(int i=0;i<n/2;i++)
        {
            if(s[i]=='?'||s[n-1-i]=='?'||s[i]!=s[n-1-i])
            {
                isok=1;
            }
        }
        if(isok)
        {
            bool flag=0;
            for(int i=n/2-1;i>=0;i--)
            {
                if(s[i]!='?'&&s[n-1-i]!='?'&&s[i]!=s[n-1-i])
                {
                    flag=1;
                }
            }
            for(i=n/2-1;i>=0;i--)
            {
                if(s[i]=='?'&&s[n-1-i]!='?')
                {
                    if(!flag)
                    {
                        if(s[n-i-1]!='a')
                        {
                            s[i]='a';
                            flag=1;
                        }
                    }
                }
            }
            for( i=0;i<n/2;i++)
            {
                if(s[i]=='?')
                {
                    if(s[n-1-i]=='?')
                    {
                        if(!flag)
                        {
                            s[i]='a';
                            s[n-i-1]='b';
                            flag=1;
                        }
                        else
                        {
                            s[i]=s[n-i-1]='a';
                        }
                    }
                    else
                    {
                        if(!flag)
                        {
                            if(s[n-1-i]!='a')
                            {
                                s[i]='a';
                                flag=1;
                            }
                        }
                        else
                        {
                            s[i]='a';
                        }
                    }
                }
                else if(s[n-1-i]=='?')
                {
                    if(!flag)
                    {
                        if(s[i]=='a')s[n-i-1]='b';
                        else s[n-i-1]='a';
                        flag=1;
                    }
                    else
                    {
                        s[n-i-1]='a';
                    }
                }
            }
            for( i=n/2-1;i>=0;i--)
            {
                if(s[i]=='?')
                {
                    if(!flag)
                    {
                        s[i]='b';
                        flag=1;
                    }
                    else s[i]='a';
                }
            }
            if(n%2)s[n/2]='a';
            printf("%s
",s);
        }
        else printf("QwQ
");
    }
    return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。http://xiang578.top/

原文地址:https://www.cnblogs.com/xryz/p/4848043.html