码迷,mamicode.com
首页 > 其他好文 > 详细

题解 CF420A 【Start Up】

时间:2021-05-03 12:20:32      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:cpp   targe   字母   pac   namespace   一个   mat   tle   除了   

题目

注意

符合题意的字符串,除了要是一个回文字符串,还必须由全部由 轴对称字母 组成。

思路

  • 判断是否含有非轴对称字母
  • 判断是否为回文字符串

以下是所有的轴对称字母:

AHIMOTUVWXY

这里介绍一个string类型操作,可以快速反转字符串。

string str;
reverse(str.begin(),str.end());

这样操作后的 \(str\) 就是一个水平翻转后的字符串了。
然后就可以愉快的与原来的字符串比较啦~

其实我就是为了做回文串的题而学会的操作。


代码:

#include<bits/stdc++.h>
using namespace std;
string a;
string str;
int main()
{
    cin>>a;     //使用string处理字符串题目更方便
    for(int i=0;i<a.length();i++) //循环判断字符串中的每个字母是否为非轴对称字母
    {
        if(a[i]!=‘A‘&&a[i]!=‘H‘&&a[i]!=‘I‘&&a[i]!=‘M‘&&a[i]!=‘O‘&&a[i]!=‘T‘&&a[i]!=‘U‘&&a[i]!=‘V‘&&a[i]!=‘W‘&&a[i]!=‘X‘&&a[i]!=‘Y‘)
        {
            cout<<"NO"<<endl;
            return 0;
        }
    }
    str = a ;   //用另一个string存一下翻转的字符串
    reverse(str.begin(),str.end());
    if(a!=str)
    {
        cout<<"NO"<<endl;
        return 0;
    }
    cout<<"YES"<<endl;   //如果能跑到这里,就一定是符合要求的字符串
    return 0;
}

题解 CF420A 【Start Up】

标签:cpp   targe   字母   pac   namespace   一个   mat   tle   除了   

原文地址:https://www.cnblogs.com/uyisnil/p/14723529.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!