求改!!
查看原帖
求改!!
777314
LeAf146楼主2024/8/17 23:36

关了o2之后#4才能ac不然就会re, #2不管开不开都是wa,蒻苟代码写的很长求别骂

#include<iostream>
using namespace std;
int x,m[106]={-1},n[106]={-1},i=1,ans=0;
//n是把m倒过来,i表示位数
char c;
void plusu(int x) {
    for(int j=1;j<=i;j++) {
        while(m[j]>=x) {
            if(j==i) m[++i]=0;
            m[j+1]+=m[j]/x;
            m[j]%=x;
        }
    }
}//m进位
void get_re() {
    int k=1;
    for(int j=i;j>0;j--) {
        n[k++]=m[j];
    }
}//n为m的倒序
int check() {
    for(int j=1;j<=i/2;j++) {
        if(m[i-j+1]!=m[j]) return 0;
    }
    return 1;
}//检查m是否回文
void get_plus() {
    for(int j=1;j<=i;j++) m[j]+=n[j];
    ans++;
}
int main(){
    cin>>x;
    cin.clear();
    cin.ignore();
    if(x==16) {
        while(c=cin.get()) {
            if((c=='\n')||(c==' ')) break;
            switch(c) {
                case '0':m[i++]=int(c-'0');break;
                case '1':m[i++]=int(c-'0');break;
                case '2':m[i++]=int(c-'0');break;
                case '3':m[i++]=int(c-'0');break;
                case '4':m[i++]=int(c-'0');break;
                case '5':m[i++]=int(c-'0');break;
                case '6':m[i++]=int(c-'0');break;
                case '7':m[i++]=int(c-'0');break;
                case '8':m[i++]=int(c-'0');break;
                case '9':m[i++]=int(c-'0');break;
                case 'A':m[i++]=int(c-'A'+10);break;
                case 'B':m[i++]=int(c-'A'+10);break;
                case 'C':m[i++]=int(c-'A'+10);break;
                case 'D':m[i++]=int(c-'A'+10);break;
                case 'E':m[i++]=int(c-'A'+10);break;
                case 'F':m[i++]=int(c-'A'+10);break;
            }
        }
        i--;
        plusu(x);
        while(!check()) {
            get_re();
            get_plus();
            plusu(x);
        }
    }
    else {
        cin>>m[i];
        plusu(10);
        plusu(x);
        while(!check()) {
            get_re();
            get_plus();
            plusu(x);
        }
    }
    if(ans>30) cout<<"Impossible!";
    else cout<<"STEP="<<ans;
    return 0;
}
2024/8/17 23:36
加载中...