测试样例过,提交全部超时,恳求大佬
查看原帖
测试样例过,提交全部超时,恳求大佬
489506
LiXingWang楼主2021/4/6 10:22
# include <iostream>
# include <cstring>
# include <cstdio>
using namespace std;
int n,m;
char s[305];
int a[305];
int l;
bool huiwen()
{
	for(int i = 0;i<l;i++)
	{
		if(a[i] != a[l-i-1]) return false;
	 } 
	 return true;
}
void xiangjia()
{
	int b[305];
	for(int i = 0;i<l;i++)
	{
		b[l-i-1] = a[i];
	}
	l += 2; 
	for(int i = 0;i<l;i++)
	{
		a[i] += b[i];
		if(a[i]>=n) a[i+1]++,a[i] -= n;
	}
	while(!a[l-1]) l--;
}
int main ()
{
	cin>>n;
	scanf("%s",s);
	int step = 0;
	l = strlen(s);
	for(int i = 0;i<l;i++)
	{
		if(s[i]>='0'&&s[i]<='9')
		a[i] = s[i]-'0';
		else
		a[i] = s[i]-'A'+10;
	}
	while(!huiwen())
	{
		step++;
		xiangjia();
	}
	if(step<=30) 
	cout<<"STEP="<<step<<endl;
	else
	cout<<"Impossible!"<<endl;
	return 0;
}
2021/4/6 10:22
加载中...