标签:
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <cstring>
#include <algorithm>
#include <set>
#include <map>
#include <vector>
#include <queue>
#include <string>
#define inf 0xfffffff
#define eps 1e-10
using namespace std;
int n;
char str[1005];
bool flag;
void Input()
{
flag = false;
getchar();
for (int i = 0; i <= n; ++i)
{
str[i] = getchar();
}
}
void Output()
{
int i = 0;
while (str[i] != ‘\n‘)
{
printf("%c", str[i]);
i++;
}
printf("\n");
}
bool Cheak()
{
int len = n/2;
for (int i = 0; i < len; ++i)
{
if (str[i] != str[n-1-i])
return false;
}
return true;
}
void dfs(int i)
{
if (flag)
return;
while (str[i] != ‘?‘ && str[i] != ‘\n‘)
i++;
if (str[i] == ‘\n‘)
{
if (!Cheak())
{
flag = true;
}
return;
}
if (str[i] == ‘?‘)
{
for (char j = ‘a‘; j <= ‘z‘; ++j)
{
str[i] = j;
dfs(i+1);
if (flag)
return;
str[i] = ‘?‘;
}
}
}
int main()
{
//freopen("test.txt", "r", stdin);
while (scanf("%d", &n) != EOF)
{
Input();
dfs(0);
if (flag)
Output();
else
printf("QwQ\n");
}
return 0;
}
ACM学习历程——HDU5202 Rikka with string(dfs,回文字符串)
标签:
原文地址:http://www.cnblogs.com/andyqsmart/p/4430413.html