社区讨论
求问为何段错?
B4088[CSP-X2020 山东] 最大回文数参与者 2已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @mcnh8a0i
- 此快照首次捕获于
- 2025/07/03 22:24 8 个月前
- 此快照最后确认于
- 2025/11/04 06:46 4 个月前
CPP
#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;
}
代码很臃肿了,将就看一下吧
回复
共 2 条回复,欢迎继续交流。
正在加载回复...