最后一个点WA了但是我下数据下来本地测是对的,为啥?

P1015 [NOIP1999 普及组] 回文数

oiyang @ 2023-06-07 21:25:37


#include <bits/stdc++.h>
using namespace std;
int ans,len,n;
int sum[305];
string ch;
bool pd()
{
    for(int i=0;i<len;i++)
        if(ch[i]!=ch[len-1-i])
            return 0;
    return 1;
}
void add()
{
    for(int i=0;i<len;i++)
    {
        sum[len-i-1]=ch[i];
    }
    len+=3;
    for(int i=0;i<len;i++)
    {
        ch[i]+=sum[i];
         if(ch[i]>=n)
            ch[i+1]++,ch[i]-=n;
    }
    while(!ch[len-1])
        --len;
}
int main()
{
    ios::sync_with_stdio(false);
    cin>>n;
    cin>>ch;
    len=ch.size();
    for(int i=0;i<len;i++)
    {
        if(ch[i]>='0' && ch[i]<='9')
            ch[i]-='0';
        else
            ch[i]=ch[i]-'A'+10;
    }
    while(!pd())
    {
        ans++;
        if(ans>30)
            break;
        add();
    }
    if(ans<=30)
        cout<<"STEP="<<ans<<endl;
    else
        cout<<"Impossible!"<<endl;
    return 0;
}

by oiyang @ 2023-06-09 12:19:23

我知道了


|