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

1027A. Palindromic Twist#变形回文串

时间:2018-08-25 21:21:28      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:就是   字符串   force   ace   art   nbsp   cin   变形   code   

题目内容:http://codeforces.com/contest/1027/problem/A

题目解析:输入T组字符串,每个字符串都必须改变一次,每个字母改变的规则是变成相邻的字母,字母a只能变b,z只能变y。改变后 的字符依旧是否能够变成回文串,就输出YES,否则就输出NO。注意,相邻的字母并没有固定是左边还右边,所以要考虑分成两种情况,一种本身就是回文串的就输出YES,不是回文串的判断对应位置字符asc码差是否等于2。

#include<iostream>
#include<cmath>
using namespace std;
int main()
{
    int n,t,flag;
    string s;
    cin>>t;
    while(t--)
    {
        flag=0;
        cin>>n>>s;
        for(int i=0; i<n/2; i++)
            if(s[i]!=s[n-i-1]&&abs(s[i]-s[n-i-1])!=2)
            {//用ascll码理解,满足:既不相等且相差非2 
                puts("NO");
                flag=1;
                
                break;
            }
        if(!flag)puts("YES");
    }
    return 0;
}

 

参考出处:https://blog.csdn.net/memory_qianxiao/article/details/81838111

1027A. Palindromic Twist#变形回文串

标签:就是   字符串   force   ace   art   nbsp   cin   变形   code   

原文地址:https://www.cnblogs.com/hello-OK/p/9535224.html

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