不知为何样例少了一个
查看原帖
不知为何样例少了一个
677127
xiaoxiaoxia楼主2022/9/5 15:55
#include<bits/stdc++.h>
using namespace std;
char a[303], b[303];
int len=0, n;
void add()
{
	int v=0;
	for (int i=0;i<len;i++)
		b[len-i-1]=a[i];
	for (int i=0;i<len;i++)
	{
		a[i]=a[i]+b[i]+v;
		if (a[i]>=n)
		{
			a[i]-=n;
			v=1;
		}
		else
		{
			v=0;
		}
	}
	if(a[len]!=0)
	{
		len++; 
	}
}
bool check()
{
	for(int i=0;i<len;i++)
	{
		if(a[i]!=a[len-i-1])
		{
			return false;
		}
	}
	return true;
}
int main()
{
	scanf("%d%s",&n,a);
	len=strlen(a);
	for(int i=0;i<len;i++)
	{
		if (a[i]>='0'&&a[i]<='9')
		{
			a[i]-='0';
		}
		else 
		{
			a[i]=a[i]-'A'+10;
		}
	}
	int ans=0;
	while(!check())
	{
		++ans;
		if(ans>30)
		{
			break;
		}
		add();
	}
	if(ans>30)
	{
		cout<<"Impossible!"<<endl;
	}
	else
	{
		cout<<"STEP="<<ans<<endl;
	}
	return 0;
}
2022/9/5 15:55
加载中...