求问为何段错?
查看原帖
求问为何段错?
952846
Happiness_Python楼主2025/7/3 22:23
#include <bits/stdc++.h>
using namespace std;
string a0[10005];
long long a1[10005];
int i_1 = 1;
int n;

string sliceString(const string& str, size_t start, size_t end)
{
    size_t len = min(end, str.size()) - start;
    return str.substr(start, len);
}

void ifhuiwen()
{
    for (int m=1; m<=n; m++)
    {
        string s = a0[m];
    	int k = s.size() / 2;
        int f = 1;
    	for (int i=0, j=s.size()-1; i<=k, j>=s.size()-k; i++, j--)
    	{
    		if (!(s[i] == s[j]))
            {
                f = 0;
                break;
            }
    	}
        if (f == 1)
        {
        	string str1 = sliceString(s, 1, k+1);
            i_1 = m;
        	a1[i_1] = stoll(str1);
        }
    }
}
 
int main()
{
	cin >> n;
	long long max_1 = -10;
	int maxn;
	for (int i=1; i<=n; i++)
		cin >> a0[i];
    ifhuiwen();
	for (int i=1; i<=n; i++)
	{
		if (max_1 < a1[i])
		{
			max_1 = a1[i];
			maxn = i;
		}
	}
	cout << a0[maxn];
	return 0;
}

代码很臃肿了,将就看一下吧

2025/7/3 22:23
加载中...