为啥只AC一个点啊!
查看原帖
为啥只AC一个点啊!
1137373
zhangzirui66楼主2023/11/7 21:17
//求助各位高手帮忙看一下哪里错啦,谢谢
#include<bits/stdc++.h>
using namespace std;
string a;
int n, b[101], c[101], l;
void dx()//算相反
{
    for(int i = a.size(); i > 0; i --)
    c[i] = b[a.size() - i - 1];
}
void xj()//高精加
{
    for(int i = 0; i < l + 2; i ++)
    {
        b[i] += c[i];
        if(b[i] >= n)
        {
            b[i + 1] ++;
            b[i] -= n;
        }
    }
    while(b[l - 1] == 0) l --;
}
bool hw()//判断回文
{
    for(int i = 0; i < a.size() / 2; i ++)
    {
        if(a[i] != a[a.size() - i - 1])
        return true;
    }
    return false;
}
int main()
{
    int temp = 0;
    cin >> n >> a;
    l = a.size();
    while(hw())
    {
        temp ++;;
        if(temp > 30) break;
        dx();
        xj();
    }
    if(temp > 30) cout << "Impossible!";
    else
    cout << "STEP=" << temp;
    return 0;
}
2023/11/7 21:17
加载中...