1. 程式人生 > >1027A. Palindromic Twist#變形回文串

1027A. Palindromic Twist#變形回文串

sin lag 題目 就是 ces title csdn 解析 net

題目內容: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#變形回文串