NYOJ 264 國王的魔鏡 水題

2021-06-28 19:06:51 字數 939 閱讀 3970

時間限制:

3000 ms  |  記憶體限制:

65535 kb

難度:1 描述

國王有乙個魔鏡,可以把任何接觸鏡面的東西變成原來的兩倍——只是,因為是鏡子嘛,增加的那部分是反的。

比如一條項鍊,我們用

ab來表示,不同的字母表示不同顏色的珍珠。如果把

b端接觸鏡面的話,魔鏡會把這條項鍊變為

abba

。如果再用一端接觸的話,則會變成

abbaabba

(假定國王只用項鍊的某一端接觸魔鏡)。

給定最終的項鍊,請編寫程式輸出國王沒使用魔鏡之前,最初的項鍊可能的最小長度。

輸入

第一行是乙個整數n(n<=10)表示測試資料的組數)

每組測試資料佔一行 只有乙個字串(長度小於100),由大寫英文本母組成,表示最終的項鍊。

輸出每組測試資料的輸出只有乙個整數,表示國王沒使用魔鏡前,最初的項鍊可能的最小長度。

樣例輸入

2

abbaabba

a

樣例輸出

2

1

如果字串的長度為奇數,則直接輸出其長度,如果是偶數,看看其是否是回文字串,如果是,則長度減半,在檢視是否為回文字串,一直迴圈到不會回文字串或者長度為奇數即可。

#include #include #include using namespace std;

char str[110];

int change(int len){

int i=0,j=len-1;

while(i>t;

while(t--){

cin>>str;

int len=strlen(str);

while(!(len&1) && change(len))

len/=2;

cout<

NYOJ 264 國王的魔鏡

題意 國王有乙個魔鏡,可以把任何接觸鏡面的東西變成原來的兩倍 只是,因為是鏡子嘛,增加的那部分是反的。比如一條項鍊,我們用ab來表示,不同的字母表示不同顏色的珍珠。如果把b端接觸鏡面的話,魔鏡會把這條項鍊變為abba。如果再用一端接觸的話,則會變成abbaabba 假定國王只用項鍊的某一端接觸魔鏡 ...

nyoj 264 國王的魔鏡

時間限制 3000 ms 記憶體限制 65535 kb 難度 1 描述 國王有乙個魔鏡,可以把任何接觸鏡面的東西變成原來的兩倍 只是,因為是鏡子嘛,增加的那部分是反的。比如一條項鍊,我們用ab來表示,不同的字母表示不同顏色的珍珠。如果把b端接觸鏡面的話,魔鏡會把這條項鍊變為abba。如果再用一端接觸...

nyoj 264 國王的魔鏡

時間限制 3000 ms 記憶體限制 65535 kb 難度 1 描述國王有乙個魔鏡,可以把任何接觸鏡面的東西變成原來的兩倍 只是,因為是鏡子嘛,增加的那部分是反的。比如一條項鍊,我們用 ab來表示,不同的字母表示不同顏色的珍珠。如果把 b端接觸鏡面的話,魔鏡會把這條項鍊變為 abba 如果再用一端...