Description
定义MyString类,包括:
- 一个字符数组或字符指针,用于存储字符串内容。
- void input():读取一个不含空白符的字符串。
- void output():输出字符串。如果字符串不是回文串,则输出原串。如果是回文串,则仅输出前半部分。如: 原串:abccba,则输出abc 原串:abcdcba,则输出abcd 原串:abcd,则输出abcd
Input
第一行是整数N>0,表示之后有N个测试用例。每个测试用例占一行,是一个不含空白符的字符串。每个串不超过1000个字符。
Output
见样例。
Sample Input
4
abcdcba
abccba
abcdefgh
aaaaaaaa
Sample Output
abcd
abc
abcdefgh
aaaa
HINT
Append Code
append.cc,
标程
#include <bits/stdc++.h>
#define s16 setprecision(16)
using namespace std;
class MyString {
public:
void input();
void output();
bool judge();
private:
string s;
};
void MyString::input() {cin >> s;}
void MyString::output() {
if(judge()) {
for(int i = 0; i < s.length()/2; i++) cout << s[i];
if(s.length() % 2) cout << s[s.length()/2];
cout << "\n";
}
else cout << s << "\n";
}
bool MyString::judge() {
string ss = s;
reverse(ss.begin(), ss.end());
int len = s.length()/2;
for(int i = 0; i < len; i++) if(ss[i] != s[i]) return false;
return true;
}
int main()
{
MyString str;
int n, i;
cin>>n;
for (i = 0; i < n; i++)
{
str.input();
str.output();
}
return 0;
}