75分,1个WA......
  • 板块学术版
  • 楼主封禁用户
  • 当前回复7
  • 已保存回复7
  • 发布时间2022/12/20 19:18
  • 上次更新2023/10/24 07:06:08
查看原帖
75分,1个WA......
895633
封禁用户楼主2022/12/20 19:18
#include <bits/stdc++.h> 
using namespace std;
int n,a[101],b[101],ans,i;
void j(int a[])     
{
	for(int i = 1; i <= a[0]; i++)
	{
		b[i] = a[a[0] - i + 1];   
	}
	for(int i = 1; i <= a[0]; i++)
	{
		a[i] += b[i];      
	}
	for(int i = 1; i <= a[0]; i++)      
	{
		a[i+1] += a[i] / n;
		a[i] %= n;
	}
	if(a[a[0] + 1] > 0)
	{
		a[0]++; 
	}
}
void x(int a[])                        
{
	string s;
	cin >> n >> s;                        
	memset(a,0,sizeof(a));            
	a[0] = s.length();                
	for(i = 1; i <= a[0]; i++)
	{
		if(s[a[0] - i] >= '0' && s[a[0] - i] <= '9')
		{
			a[i] = s[a[0] - i] - '0';
		}
		else
		{
			a[i] = s[a[0] - i] - 'A' + 10;
		}
	}

}
bool k(int a[])  
{
	for(i = 1; i <= a[0]; i++)
	{
		if(a[i] != a[a[0] - i + 1])
		{
			return false;
		}
	}
	return true;
}
int main()
{
	x(a);
	if(k(a))
	{
		cout << 0 << endl;
		return 0;
	}
	ans = 0;                
	while(ans++ <= 30)
	{
		j(a);
		if(k(a))
		{
			cout << "STEP=" << ans << endl;
			return 0;
		}
	}
	cout << "Impossible" << endl;    
	return 0;
}
2022/12/20 19:18
加载中...