P1609 最小回文数,70分 3个TLE
查看原帖
P1609 最小回文数,70分 3个TLE
1250909
THE_SUPER_WING楼主2024/9/19 19:06
#include <bits/stdc++.h>

using namespace std;

int a[105], b[105], c[105];
string sz(string s1, string s2)
{
	reverse(s1.begin(), s1.end());
	reverse(s2.begin(), s2.end());
	for(int i = 0; i < s1.size(); i++) a[i] = s1[i] - '0';
	for(int i = 0; i < s2.size(); i++) b[i] = s2[i] - '0';
	int lc = max(s1.size(), s2.size()) - 1;
	for(int i = 0; i <= lc; i++) c[i] = a[i] + b[i];
	int jw = 0;
	for(int i = 0; i <= lc; i++)
	{
		c[i] = c[i] + jw;
		jw = c[i] / 10;
		c[i] = c[i] % 10;
	}
	if(jw != 0)
	{
		lc++;
		c[lc] = jw;
	}
	string ss = "";
	for(int i = 0; i <= lc; i++) ss = ss + char(c[i] + '0');
	reverse(ss.begin(), ss.end());
	return ss;
}
string check(string s)
{
	reverse(s.begin(), s.end());
	return s;
}
int main()
{
    string n;
    cin >> n;
    n = sz(n, "1");
    while(n != check(n))
    {
		n = sz(n, "1");
	}
	cout << n;
    return 0;
}

求解,球球了

2024/9/19 19:06
加载中...