C++国王的魔镜

目录

题目描述:

输入

输出

样例

输入

输出

数据范围限制

代码展示


题目描述:

        国王有一个魔镜,可以把任何接触镜面的东西变成原来的两倍——只是,因为是镜子嘛,增加的那部分是反的。
比如一条项链,我们用AB来表示,不同的字母表示不同颜色的珍珠。如果把B端接触镜面的话,魔镜会把这条项链变为ABBA。如果再用一端接触的话,则会变成ABBAABBA(假定国王只用项链的某一端接触魔镜)。
给定最终的项链,请编写程序输出国王没使用魔镜之前,最初的项链可能的最小长度。

输入

只有一个字符串,由大写英文字母组成,表示最终的项链(长度<=255)。

输出

只有一个整数,表示国王没使用魔镜前,最初的项链可能的最小长度。

样例

输入

ABBAABBA 

输出

2

数据范围限制

代码展示

#include
#include
using namespace std;
char a[300];
int main()
{
	char ch;
	int k=0,y,sum=0;
	scanf("%c",&ch);
	while(ch!='\n'&&ch!='\r')
	{
		k++;
		a[k]=ch;
		scanf("%c",&ch);
	}
	y=k;
	while(y%2==0&&a[1]==a[y])
	{
		y/=2;
	}
	printf("%d",y);
	return 0;
}

#include
using namespace std;
int main()
{
    string s;
    getline(cin,s);
    int len=s.size();
    if(len%2!=0){
    	cout<

你可能感兴趣的:(C++,c++,开发语言,后端)