zoukankan      html  css  js  c++  java
  • 1027A. Palindromic Twist#变形回文串

    题目内容: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

    个人分享,欢迎指导,未经允许,请勿转载。谢谢!
  • 相关阅读:
    要养成记录技术问题的习惯
    js排序方法
    阶乘算法练习
    简易的自定义滚动条加鼠标滑轮事件结合使用
    等虚线框的拖拽
    照片墙效果
    苹果导航菜单效果
    简易封装js库
    JQ 实现切换效果
    三级菜单
  • 原文地址:https://www.cnblogs.com/hello-OK/p/9535224.html
Copyright © 2011-2022 走看看