为什么RE
  • 板块灌水区
  • 楼主liaozetao
  • 当前回复4
  • 已保存回复4
  • 发布时间2020/8/24 13:16
  • 上次更新2023/11/6 19:31:29
查看原帖
为什么RE
372913
liaozetao楼主2020/8/24 13:16
#include<iostream>
#include<math.h>
#include<iomanip>
#include<string.h>
#include<algorithm>
#include<cstdio>
#include<queue>
using namespace std;
char dg2[26]= {'A',' ',' ',' ','3',' ',' ','H','I','L',' ','J','M',' ','O',' ',' ',' ','2','T','U','V','W','X','Y','5'};
char dh2[9]= {'1','S','E',' ','Z',' ',' ','8',' '};
bool huiwen(char x[])
{
	int j,i=0;
	j=strlen(x)-1;
	while(i!=j&&i<j)
	{
		if(x[i]!=x[j]) return false;
		i++;
		j--;
	}
	return true;
}
bool jx(char y[])
{
	int j,i=0;
	j=strlen(y)-1;
	string p;
	string q;
	while(i!=j&&i<j)
	{
		if(y[i]>='A'&&y[i]<='Z')
		{
			if(y[j]>='A'&&y[j]<='Z')
			{
				p[i]=dg2[y[i]-'A'];
				q[j]=dg2[y[j]-'A'];
				if(p[i]!=y[j]) return false;
				if(q[j]!=y[i]) return false;
			}
			else
			{
				p[i]=dg2[y[i]-'A'];
				q[j]=dh2[y[j]-'0'-1];
				if(p[i]!=y[j]) return false;
				if(q[j]!=y[i]) return false;
			}
		}
		else
		{
			if(y[j]>='A'&&y[j]<='Z') 
			{
				p[i]=dh2[y[i]-'0'-1];
				q[j]=dg2[y[j]-'A'];
				if(p[i]!=y[j]) return false;
				if(q[j]!=y[i]) return false;
			}
			else
			{
				p[i]=dh2[y[i]-'0'-1];
				q[j]=dh2[y[j]-'0'-1];
				if(p[i]!=y[j]) return false;
				if(q[j]!=y[i]) return false;
			}
		}
		i++;
		j--;
	}
	return true;
}
char s[10010];
int main()
{

	bool a,b;
	while(1)
	{
		cin>>s;
		a=huiwen(s);
		b=jx(s);
		if(a&&b)
		{
			cout<<s<<" -- is a mirrored palindrome."<<endl;
		}
		else if(a&&!b)
		{
			cout<<s<<" -- is a regular palindrome."<<endl;
		}
		else if(!a&&b)
		{
			cout<<s<<" -- is a mirrored string."<<endl;
		}
		else if(!a&&!b)
		{
			cout<<s<<" -- is not a palindrome."<<endl;
		}
		cout<<endl;
	}
	return 0;
}

求大佬指教

2020/8/24 13:16
加载中...