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成神之路

版权声明:
作者:admin
链接:https://www.techfm.club/p/16395.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>