在看到厄尔巴岛之前,我曾经不可一世
来源:互联网 发布:node.js 个人博客 编辑:程序博客网 时间:2024/05/06 15:25
题目描述
你应该听说过回文吧?所谓回文,简单地说,就是顺着读和反过来读都是一样的。中国历史上还出现过回文诗,其中大名鼎鼎的四首是:
咱们今天来一次“崇洋,但不媚外”。咱们暂时不考虑中文回文,而是考虑英文回文。简单的英文回文有:aba、madam等。我们现在给出回文的定义:滤去所有非字母字符(包括空格)后,不考虑字母的大小写,从左向右和从右向左读都一样的词、短语或句子。英文里面最有名的回文据说出自拿破仑同志之手:Able was I ere I saw Elba.意思是:在看到厄尔巴岛之前,我曾经不可一世。注:这里的ere是古字,现在偶尔还有人使用,和before(在……之前)同义,拿破仑同志对俄战争失败后被放逐到Elba岛。
输入
第一行为一个整数t,表示有t组测试数据。 接下来有t行,每行一个字符串。每个字符串一定含有字母字符。
输出
对于每个字符串,判断它是否是我们定义的回文串,如果是输出Yes,否则输出No。
样例输入
5abcMadamMadam, I’m adam.Golf, No Sir, prefer prison flog!Able was I ere I saw Elba.
样例输出
NoYesYesYesYes#include <iostream> #include <cmath> #include <cstring> using namespace std; const int a = 100; char str[a+1]; char t[a+1]; int main() { int j=0,n,i,len,f; cin >> n; cin.get(); while (n--) { char t[a+1]={0}; f=1; j=0; cin.getline(str,a+1); for (i=0;str[i]!='\0';i++) { if ( (str[i]>='a'&&str[i]<='z') ||(str[i]>='A'&&str[i]<='Z') ) { t[j]=str[i]; j++; } } /*for (i=0;t[i]!='\0';i++) { cout << t[i] << endl; } */ len=strlen(t); for (i=0;i<len/2;i++) { if ((t[i]!=t[len-1-i])&&abs(t[i]-t[len-1-i])!=32) { f=0; } } if (f==0) { cout << "No" << endl; } else { cout << "Yes" << endl; } } return 0; }
1 0
- 在看到厄尔巴岛之前,我曾经不可一世
- 在图书馆看到我自己
- 在我心中曾经有一个梦
- 在我选购数码相机之前
- 曾经我以为自己很努力,其实我连努力的边都没看到。
- 今天刚好看到曾经入门的我,所纠结的 i 问题。
- 我在网上看到的,好站!
- 我看到别人的忧伤在哭泣。
- 我看到残风依然在飘
- 李开复:我在硅谷看到了什么?
- 我之前的博客在DONEWS上
- 谢谢你曾经出现在我的生命里
- 我曾经相信的一切 在岁月中不断改变 我曾经设想的世界 没有边缘
- 写给我在等的人和我曾经等过的人和关注我得专家
- 曾经的我
- 我曾经来过
- 曾经我爱过
- 遇见曾经的我
- 蛇形矩阵
- Linux NFS mount挂载
- iOS正则表达式
- C++和C语言函数相互调用之二
- 约瑟夫问题——历史的真相
- 在看到厄尔巴岛之前,我曾经不可一世
- C++/CLI 托管C++的基本数据类型及函数【3】
- 勤奋的计算机系学生
- [编程语言][C语言]C语言的顺序结构
- 在CentOS 6.5上安装软件
- nginx反向代理配置,负载均衡
- C中如何调用C++函数、类内函数
- jdk安装配置
- Permutation Sequence