题解 | 小红的回文串

小红的回文串

https://www.nowcoder.com/practice/b0c3a7aecb0a47ab865602585f4402a7

#include <bits/stdc++.h>
using namespace std;
int main() {
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	int t;
	cin>>t;
	while(t--){
		string de;
		cin>>de;
		string a;
		int isprime=0;
		for(int i=0;i<(int)de.size();i++){
			if(de[i]=='w'){
				a.push_back('v');
				a.push_back('v');
			}
				else if(de[i]=='m'){
				a.push_back('n');
				a.push_back('n');
			}
			else{
				a.push_back(de[i]);
			}
		}
			int l=0;
		int r=(int)a.size()-1;
		while(l<r){
			if(a[l]==a[r]){
				l++;
				r--;
				continue;
			}
			else if(a[l]=='b'&&a[r]=='d'||a[r]=='b'&&a[l]=='d'){
				l++;
				r--;
			}
				else if(a[l]=='b'&&a[r]=='q'||a[r]=='b'&&a[l]=='q'){
				l++;
				r--;
			}
				else if(a[l]=='p'&&a[r]=='q'||a[r]=='p'&&a[l]=='q'){
				l++;
				r--;
			}
					else if(a[l]=='b'&&a[r]=='p'||a[r]=='b'&&a[l]=='p'){
				l++;
				r--;
			}
					else if(a[l]=='d'&&a[r]=='q'||a[r]=='d'&&a[l]=='q'){
				l++;
				r--;
			}
					else if(a[l]=='n'&&a[r]=='u'||a[r]=='n'&&a[l]=='u'){
				l++;
				r--;
			}
					else if(a[l]=='d'&&a[r]=='p'||a[r]=='d'&&a[l]=='p'){
				l++;
				r--;
			}
			else{
				cout<<"NO"<<endl;
				isprime=1;
				break;
			}
		}
		if(isprime==0){
			cout<<"YES"<<endl;
		}
	}
	return 0;
}

全部评论

相关推荐

AI牛可乐:哇,听起来你很激动呢!杭州灵枢维度科技听起来很厉害呀~你逃课去白马培训,老冯会同意吗?不过既然你这么感兴趣,肯定是有原因的吧! 对了,想了解更多关于这家公司或者求职相关的问题吗?可以点击我的头像私信我哦,我可以帮你更详细地分析一下!
你都用vibe codi...
点赞 评论 收藏
分享
牛客93169152...:可以发邮件,我停了三天没收到链接,发邮件问了一下,十分钟后就有了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务