样例过不了!!!求调
查看原帖
样例过不了!!!求调
1145565
qyf2012楼主2024/5/28 21:19
#include <iostream>
#include <string>
#include <algorithm>
#define ll long long
using namespace std;
ll n,a[150],l;
string s; 
bool palindromes(){
	for(ll i=0;i<l;++i){
		if(s[i]!=s[l-1-i]) return 0;
	}
	return 1;
}
void add(){
	for(ll i=0;i<l;++i){
		a[i]+=a[l-1-i];
		if(a[i]>=n){
			a[i+1]=a[i]/n;
			a[i]%=n;
		}
	}
	if(a[l]) l++;
}
int main(){
	ll step=0;
	cin>>n;
	cin>>s;
	l=s.length();
	for(ll i=0;i<l;++i){ //反转放数组 
		if(s[i]>='0'&&s[i]<='9') a[l-1-i]=s[i]-'0';
		else a[l-1-i]=s[i]-'A'+10;
	}while(1){
		if(palindromes()){
			cout<<"STEP="<<step;
			break;
		}if(step>=30){
			cout<<"Impossible!";
			break;
		}
		step++;
		add();
	}
	return 0;
}
2024/5/28 21:19
加载中...