题目描述
blablabla
样例
blablabla
算法1
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
#include<bits/stdc++.h>
using namespace std;
const int N = 110;
const int mod = 20123;
int a[N], b[N];
int cal(string s, int w){
int ans = 0;
int n = s.size();
for(int i = 0;i < n;i++){
int k = n - i - 1;
int x = s[i] - '0';
ans += x * a[k];
ans %= mod;
if(x > w)ans += b[k + 1];
else if(x == w){
for(int j = i + 1;j < n;j++){
ans += (s[j] - '0') * b[n - j];
ans %= mod;
}
ans += 1;
ans %= mod;
}
}
return ans;
}
signed main(){
for(int i = 1, base = 1;i < N;i++, base = base * 10 % mod){
a[i] = (a[i - 1] * 10 + base) % mod;
b[i] = base;
}
string s;
while(cin >> s){
cout << (cal(s, 1) + cal(s, 2)) % mod << endl;
}
return 0;
}
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla