#include<bits/stdc++.h>
using namespace std;
int main(){
    int s;
    string p,q;
    cin>>p;
    s=p.size();
    for(int i=0;i<s;i++){
        q[i]=p[s-i-1];//这里翻转之后的在P数组里，后面修改的却是Q数组 
        if(q[i]=='b')
            q[i]='d';
        else 
            if(q[i]=='d')
                q[i]='b';
        else 
            if(q[i]=='p')
                q[i]='q';
        else 
            if(q[i]=='q')
                q[i]='p';
        //没有问题 
    }
    for(int i=0;i<s;i++){
        if(p[i]!=q[i]){
            cout<<"No";
            return 0;
        }
    }//if(p!=q)cout<<"No"； 
    cout<<"Yes";
    return 0;
}
源码  
```
#include<bits/stdc++.h>
using namespace std;
int main(){
	int s;
	string p,q;
	cin>>p;
	s=p.size();
	for(int i=0;i<s;i++){
		q[i]=p[s-i-1];//这里翻转之后的在P数组里，后面修改的却是Q数组 
		if(q[i]=='b')
			q[i]='d';
		else 
			if(q[i]=='d')
				q[i]='b';
		else 
			if(q[i]=='p')
				q[i]='q';
		else 
			if(q[i]=='q')
				q[i]='p';
		//没有问题 
	}
	for(int i=0;i<s;i++){
		if(p[i]!=q[i]){
			cout<<"No";
			return 0;
		}
	}//if(p!=q)cout<<"No"； 
	cout<<"Yes";
	return 0;
}