Codeforces 1634 A. Reverse and Concatenate —— 简单思维
This way
题意:
给你一个字符串s,设res(s)为s头尾翻转。 有k次操作,每次可以让s=s+res(s)或者s=res(s)+s。 问你最终由几种本质不同的字符串。
题解:
差点掏出kmp,但其实很简单,因为如果s是回文串,你怎么摆都是一样的,如果s不是回文串,那么第一次操作变成res(s)+s或者s+res(s) 第二次操作变成res(s)+s+s+res(s)或者s+res(s)+res(s)+s或者s+res(s)+res(s)+s或者res(s)+s+s+res(s) 发现其实只有两个,那么最终答案只有1,2两种情况
#include
using namespace std;
const int N=105;
char s[N];
int main()
{
int t;
scanf("%d",&t);
while(t--){
Codeforces 1634 A. Reverse and Concatenate —— 简单思维最先出现在Python成神之路。
共有 0 条评论