样例过不了但AC了?!
查看原帖
样例过不了但AC了?!
1160220
happy_lazier楼主2023/11/23 22:00
#include<bits/stdc++.h>
int x[500];
int mid[500];
int j=0;
char M[101];
int N;
using namespace std;
int huiwenshu(int x[]){
    for(int i=0;i<j/2;i++){
        if(x[i]!=x[j-1-i])return 0;
    }
    return 1;
}
void fanadd(int x[]){
    int y[500];
    for(int i=0;i<j;i++){
        y[i]=x[j-1-i];
    }
    for(int i=0;i<j;i++){
        x[i]=x[i]+y[i];
        if(x[i]>=N){
            x[i+1]++;
            x[i]=x[i]-N;
        }
        if(x[j]!=0)j++;
    }
}
int main(){
    cin>>N;
    cin>>M;
    while(M[j]!='\0'){
        mid[j]=M[j]-'0';
        if(M[j]<='F'&&M[j]>='A')mid[j]=M[j]-'A'+10;
        j++;
    }
    for(int i=0;i<j;i++){
        x[i]=mid[j-1-i];
    }
    int step=0;
    while(step<=30&&!huiwenshu(x)){
        fanadd(x);
        step++;
    }
    if(huiwenshu(x))cout<<"STEP="<<step;
    else cout<<"Impossible!";
}
2023/11/23 22:00
加载中...