25分求条
查看原帖
25分求条
1660231
Little_d楼主2025/8/5 14:32
#include<bits/stdc++.h>
#define int long long
using namespace std;
string m;
int n;
int get(char c){
    if(c=='A')return 10;
    else if(c=='B')return 11;
    else if(c=='C')return 12;
    else if(c=='D')return 13;
    else if(c=='E')return 14;
    else if(c=='F')return 15;
    else return c-'0';
}
char F(int c){
    if(c==10)return 'A';
    else if(c==11)return 'B';
    else if(c==12)return 'C';
    else if(c==13)return 'D';
    else if(c==14)return 'E';
    else if(c==15)return 'F';
    else return c+'0';
}
string fun(string a){
    string b="";
    for(int i=a.size()-1;i>=0;i--)b+=a[i];
    string ans="";
    for(int i=0;i<a.size();i++)ans+=' ';
    int jw=0;
    for(int i=0;i<a.size();i++){
        int x=get(a[i]);
        int y=get(b[i]);
        int z=x+y+jw;
        jw=0;
        if(z>=n){
            jw++;
            z-=n;
        }
        ans[i]=F(z);
    }
    if(jw)ans='1'+ans;
    return ans;
}
bool check(string s){
    int l=0,r=s.size()-1;
    while(l<=r){
        if(s[l]!=s[r])return false;
        l++,r--;
    }
    return true;
}
signed main(){
    ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
    cin>>n>>m;
    if(check(m)){
        cout<<"STEP=0";
        return 0;
    }
    for(int i=1;i<=31;i++){
        m=fun(m);
        if(check(m)){
            cout<<"STEP="<<i;
            return 0;
        }
    }
    cout<<"Impossible!";
    return 0;
}
2025/8/5 14:32
加载中...