为何超时?
查看原帖
为何超时?
360331
int64楼主2021/8/25 12:28
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<string>
#include<cstring>
#include<iomanip>
#define IOS ios_base::sync_with_stdio(0); cin.tie(0);

using namespace std;

#define inf 0x3f3f3f3f
#define int long long
#define endl '\n'

string JIA(string a1, string b1);

bool check(string str) {
	for (int i = (str.length() - 1) / 2 + 1;i >= 0;i--) {
		if (str.at(i) != str.at(str.size() - 1 - i)) {
			return false;
		}
	}
	return true;
}

signed main() {
	IOS;
	string n;
	cin >> n;
	n = JIA(n, "1");
	while (!check(n)) {
		n = JIA(n, "1");
	}
	cout << n << endl;
	return 0;
}

string JIA(string a1, string b1) {
	int lena = a1.length(), lenb = b1.length(), a[200] = {}, b[200] = {}, c[200] = {}, lenc, x;
	string result;
	for (int i = 0; i <= lena - 1; i++) {
		a[lena - i] = a1[i] - '0';
	}
	for (int i = 0; i <= lenb - 1; i++) {
		b[lenb - i] = b1[i] - '0';
	}
	lenc = 1;
	x = 0;
	while (lenc <= lena || lenc <= lenb) {
		c[lenc] = a[lenc] + b[lenc] + x;
		x = c[lenc] / 10;
		c[lenc] %= 10;
		lenc++;
	}
	c[lenc] = x;
	if (c[lenc] == 0) {
		lenc--;
	}
	for (int i = lenc; i >= 1; i--) {
		result += c[i] + '0';
	}
	return result;
}

//Fununugugu Code
2021/8/25 12:28
加载中...