只有65,大佬帮忙hack一下
查看原帖
只有65,大佬帮忙hack一下
109442
pV_equals_nRT楼主2023/11/21 20:33
#include <bits/stdc++.h>
using namespace std;

const int M = 20091119;
string s;
int f[105], d;

int digitDP(int digit) {
	long long sum = 0;
	if (digit == d / 2 + 1) {
		return digit == d ? f[digit] : f[digit] + 1;
	}
	sum = digit == d ? f[digit] - 1 : f[digit];
	for (int i = digit - 1; i >= d / 2 + 1; i--) {
		sum *= 10, sum %= M;
	}
	sum += digitDP(digit - 1) % M;
	sum %= M;
	return sum;
}

int main() {
	long long sum = 0;
	cin >> s;
	d = s.length();
	for (int i = 1; i <= d; i++) {
		f[i] = s[d - i] - '0';
	}
	sum = digitDP(d);
	for (int i = d - 1; i >= 1; i--) {
		int k = 9;
		for (int j = i - 1; j >= i / 2 + 1; j--) {
			k *= 10, k %= M;
		}
		sum += k, sum %= M;
	}
	printf("%d", sum);
}

实在不知道哪错了

2023/11/21 20:33
加载中...