1 条题解

  • 0
    @ 2025-11-23 15:18:11
    #include<bits/stdc++.h>
    using namespace std;
    const int N=140;
    int n,a[N],len,b[100000];
    char s[N];
    int main(){
    	scanf("%d%s",&n,s);
    	len=strlen(s);
    	for(int i=0;i<len;++i){
    		if(s[len-1-i]<='9')a[i]=s[len-1-i]-'0';
    		else if(s[len-1-i]<='Z')a[i]=s[len-1-i]-'A'+10;
    		else if(s[len-1-i]<='z')a[i]=s[len-1-i]-'a'+10;
    	}
    	for(int i=0;i<=30;++i){
    		int rev=1;
    		for(int j=len>>1;j>=0;--j) if(a[j]!=a[len-1-j])rev=0;
    		if(rev){
    			printf("STEP=%d",i);
    			return 0;
    		}
    		for(int j=0;j<len;++j)b[j]=a[len-1-j];
    		for(int j=0;j<len;++j){
    			a[j]+=b[j];
    			if(a[j]>=n){
    				a[j]-=n;
    				a[j+1]++;
    			}
    		}
    		if(a[len])++len;
    	}
    	printf("Impossible!");
    	return 0;
    }
    
    
    • 1

    信息

    ID
    15
    时间
    1000ms
    内存
    125MiB
    难度
    3
    标签
    递交数
    1
    已通过
    1
    上传者