有点意思(A71105.Zombie)
2026-10-29 16:39:36
发布于:浙江
#include<cassert>
#include<cctype>
#include<cerrno>
#include<cfloat>
#include<ciso646>
#include<climits>
#include<clocale>
#include<cmath>
#include<csetjmp>
#include<csignal>
#include<cstdarg>
#include<cstddef>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<ctime>
#include<ccomplex>
#include<cfenv>
#include<cinttypes>
#include<cstdalign>
#include<cstdbool>
#include<cstdint>
#include<ctgmath>
#include<cuchar>
#include<cwchar>
#include<cwctype>
#include<algorithm>
#include<bitset>
#include<complex>
#include<deque>
#include<exception>
#include<fstream>
#include<functional>
#include<iomanip>
#include<ios>
#include<iosfwd>
#include<iostream>
#include<istream>
#include<iterator>
#include<limits>
#include<list>
#include<locale>
#include<map>
#include<memory>
#include<new>
#include<numeric>
#include<ostream>
#include<queue>
#include<set>
#include<sstream>
#include<stack>
#include<stdexcept>
#include<streambuf>
#include<string>
#include<typeinfo>
#include<utility>
#include<valarray>
#include<vector>
#include<array>
#include<atomic>
#include<chrono>
#include<codecvt>
#include<condition_variable>
#include<forward_list>
#include<future>
#include<initializer_list>
#include<mutex>
#include<random>
#include<ratio>
#include<regex>
#include<scoped_allocator>
#include<system_error>
#include<thread>
#include<tuple>
#include<typeindex>
#include<type_traits>
#include<unordered_map>
#include<unordered_set>
#include<cassert>
#include<cctype>
#include<cerrno>
#include<cfloat>
#include<ciso646>
#include<climits>
#include<clocale>
#include<cmath>
#include<csetjmp>
#include<csignal>
#include<cstdarg>
#include<cstddef>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<ctime>
#include<ccomplex>
#include<cfenv>
#include<cinttypes>
#include<cstdalign>
#include<cstdbool>
#include<cstdint>
#include<ctgmath>
#include<cuchar>
#include<cwchar>
#include<cwctype>
#include<algorithm>
#include<bitset>
#include<complex>
#include<deque>
#include<exception>
#include<fstream>
#include<functional>
#include<iomanip>
#include<ios>
#include<iosfwd>
#include<iostream>
#include<istream>
#include<iterator>
#include<limits>
#include<list>
#include<locale>
#include<map>
#include<memory>
#include<new>
#include<numeric>
#include<ostream>
#include<queue>
#include<set>
#include<sstream>
#include<stack>
#include<stdexcept>
#include<streambuf>
#include<string>
#include<typeinfo>
#include<utility>
#include<valarray>
#include<vector>
#include<array>
#include<atomic>
#include<chrono>
#include<codecvt>
#include<condition_variable>
#include<forward_list>
#include<future>
#include<initializer_list>
#include<mutex>
#include<random>
#include<ratio>
#include<regex>
#include<scoped_allocator>
#include<system_error>
#include<thread>
#include<tuple>
#include<typeindex>
#include<type_traits>
#include<unordered_map>
#include<unordered_set>
#include<cassert>
#include<cctype>
#include<cerrno>
#include<cfloat>
#include<ciso646>
#include<climits>
#include<clocale>
#include<cmath>
#include<csetjmp>
#include<csignal>
#include<cstdarg>
#include<cstddef>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<ctime>
#include<ccomplex>
#include<cfenv>
#include<cinttypes>
#include<cstdalign>
#include<cstdbool>
#include<cstdint>
#include<ctgmath>
#include<cuchar>
#include<cwchar>
#include<cwctype>
#include<algorithm>
#include<bitset>
#include<complex>
#include<deque>
#include<exception>
#include<fstream>
#include<functional>
#include<iomanip>
#include<ios>
#include<iosfwd>
#include<iostream>
#include<istream>
#include<iterator>
#include<limits>
#include<list>
#include<locale>
#include<map>
#include<memory>
#include<new>
#include<numeric>
#include<ostream>
#include<queue>
#include<set>
#include<sstream>
#include<stack>
#include<stdexcept>
#include<streambuf>
#include<string>
#include<typeinfo>
#include<utility>
#include<valarray>
#include<vector>
#include<array>
#include<atomic>
#include<chrono>
#include<codecvt>
#include<condition_variable>
#include<forward_list>
#include<future>
#include<initializer_list>
#include<mutex>
#include<random>
#include<ratio>
#include<regex>
#include<scoped_allocator>
#include<system_error>
#include<thread>
#include<tuple>
#include<typeindex>
#include<type_traits>
#include<unordered_map>
#include<unordered_set>
#include<cassert>
#include<cctype>
#include<cerrno>
#include<cfloat>
#include<ciso646>
#include<climits>
#include<clocale>
#include<cmath>
#include<csetjmp>
#include<csignal>
#include<cstdarg>
#include<cstddef>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<ctime>
#include<ccomplex>
#include<cfenv>
#include<cinttypes>
#include<cstdalign>
#include<cstdbool>
#include<cstdint>
#include<ctgmath>
#include<cuchar>
#include<cwchar>
#include<cwctype>
#include<algorithm>
#include<bitset>
#include<complex>
#include<deque>
#include<exception>
#include<fstream>
#include<functional>
#include<iomanip>
#include<ios>
#include<iosfwd>
#include<iostream>
#include<istream>
#include<iterator>
#include<limits>
#include<list>
#include<locale>
#include<map>
#include<memory>
#include<new>
#include<numeric>
#include<ostream>
#include<queue>
#include<set>
#include<sstream>
#include<stack>
#include<stdexcept>
#include<streambuf>
#include<string>
#include<typeinfo>
#include<utility>
#include<valarray>
#include<vector>
#include<array>
#include<atomic>
#include<chrono>
#include<codecvt>
#include<condition_variable>
#include<forward_list>
#include<future>
#include<initializer_list>
#include<mutex>
#include<random>
#include<ratio>
#include<regex>
#include<scoped_allocator>
#include<system_error>
#include<thread>
#include<tuple>
#include<typeindex>
#include<type_traits>
#include<unordered_map>
#include<unordered_set>
#include<cassert>
#include<cctype>
#include<cerrno>
#include<cfloat>
#include<ciso646>
#include<climits>
#include<clocale>
#include<cmath>
#include<csetjmp>
#include<csignal>
#include<cstdarg>
#include<cstddef>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<ctime>
#include<ccomplex>
#include<cfenv>
#include<cinttypes>
#include<cstdalign>
#include<cstdbool>
#include<cstdint>
#include<ctgmath>
#include<cuchar>
#include<cwchar>
#include<cwctype>
#include<algorithm>
#include<bitset>
#include<complex>
#include<deque>
#include<exception>
#include<fstream>
#include<functional>
#include<iomanip>
#include<ios>
#include<iosfwd>
#include<iostream>
#include<istream>
#include<iterator>
#include<limits>
#include<list>
#include<locale>
#include<map>
#include<memory>
#include<new>
#include<numeric>
#include<ostream>
#include<queue>
#include<set>
#include<sstream>
#include<stack>
#include<stdexcept>
#include<streambuf>
#include<string>
#include<typeinfo>
#include<utility>
#include<valarray>
#include<vector>
#include<array>
#include<atomic>
#include<chrono>
#include<codecvt>
#include<condition_variable>
#include<forward_list>
#include<future>
#include<initializer_list>
#include<mutex>
#include<random>
#include<ratio>
#include<regex>
#include<scoped_allocator>
#include<system_error>
#include<thread>
#include<tuple>
#include<typeindex>
#include<type_traits>
#include<unordered_map>
#include<unordered_set>
#include<cassert>
#include<cctype>
#include<cerrno>
#include<cfloat>
#include<ciso646>
#include<climits>
#include<clocale>
#include<cmath>
#include<csetjmp>
#include<csignal>
#include<cstdarg>
#include<cstddef>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<ctime>
#include<ccomplex>
#include<cfenv>
#include<cinttypes>
#include<cstdalign>
#include<cstdbool>
#include<cstdint>
#include<ctgmath>
#include<cuchar>
#include<cwchar>
#include<cwctype>
#include<algorithm>
#include<bitset>
#include<complex>
#include<deque>
#include<exception>
#include<fstream>
#include<functional>
#include<iomanip>
#include<ios>
#include<iosfwd>
#include<iostream>
#include<istream>
#include<iterator>
#include<limits>
#include<list>
#include<locale>
#include<map>
#include<memory>
#include<new>
#include<numeric>
#include<ostream>
#include<queue>
#include<set>
#include<sstream>
#include<stack>
#include<stdexcept>
#include<streambuf>
#include<string>
#include<typeinfo>
#include<utility>
#include<valarray>
#include<vector>
#include<array>
#include<atomic>
#include<chrono>
#include<codecvt>
#include<condition_variable>
#include<forward_list>
#include<future>
#include<initializer_list>
#include<mutex>
#include<random>
#include<ratio>
#include<regex>
#include<scoped_allocator>
#include<system_error>
#include<thread>
#include<tuple>
#include<typeindex>
#include<type_traits>
#include<unordered_map>
#include<unordered_set>
#include<cassert>
#include<cctype>
#include<cerrno>
#include<cfloat>
#include<ciso646>
#include<climits>
#include<clocale>
#include<cmath>
#include<csetjmp>
#include<csignal>
#include<cstdarg>
#include<cstddef>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<ctime>
#include<ccomplex>
#include<cfenv>
#include<cinttypes>
#include<cstdalign>
#include<cstdbool>
#include<cstdint>
#include<ctgmath>
#include<cuchar>
#include<cwchar>
#include<cwctype>
#include<algorithm>
#include<bitset>
#include<complex>
#include<deque>
#include<exception>
#include<fstream>
#include<functional>
#include<iomanip>
#include<ios>
#include<iosfwd>
#include<iostream>
#include<istream>
#include<iterator>
#include<limits>
#include<list>
#include<locale>
#include<map>
#include<memory>
#include<new>
#include<numeric>
#include<ostream>
#include<queue>
#include<set>
#include<sstream>
#include<stack>
#include<stdexcept>
#include<streambuf>
#include<string>
#include<typeinfo>
#include<utility>
#include<valarray>
#include<vector>
#include<array>
#include<atomic>
#include<chrono>
#include<codecvt>
#include<condition_variable>
#include<forward_list>
#include<future>
#include<initializer_list>
#include<mutex>
#include<random>
#include<ratio>
#include<regex>
#include<scoped_allocator>
#include<system_error>
#include<thread>
#include<tuple>
#include<typeindex>
#include<type_traits>
#include<unordered_map>
#include<unordered_set>
#include<cassert>
#include<cctype>
#include<cerrno>
#include<cfloat>
#include<ciso646>
#include<climits>
#include<clocale>
#include<cmath>
#include<csetjmp>
#include<csignal>
#include<cstdarg>
#include<cstddef>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<ctime>
#include<ccomplex>
#include<cfenv>
#include<cinttypes>
#include<cstdalign>
#include<cstdbool>
#include<cstdint>
#include<ctgmath>
#include<cuchar>
#include<cwchar>
#include<cwctype>
#include<algorithm>
#include<bitset>
#include<complex>
#include<deque>
#include<exception>
#include<fstream>
#include<functional>
#include<iomanip>
#include<ios>
#include<iosfwd>
#include<iostream>
#include<istream>
#include<iterator>
#include<limits>
#include<list>
#include<locale>
#include<map>
#include<memory>
#include<new>
#include<numeric>
#include<ostream>
#include<queue>
#include<set>
#include<sstream>
#include<stack>
#include<stdexcept>
#include<streambuf>
#include<string>
#include<typeinfo>
#include<utility>
#include<valarray>
#include<vector>
#include<array>
#include<atomic>
#include<chrono>
#include<codecvt>
#include<condition_variable>
#include<forward_list>
#include<future>
#include<initializer_list>
#include<mutex>
#include<random>
#include<ratio>
#include<regex>
#include<scoped_allocator>
#include<system_error>
#include<thread>
#include<tuple>
#include<typeindex>
#include<type_traits>
#include<unordered_map>
#include<unordered_set>
#include<cassert>
#include<cctype>
#include<cerrno>
#include<cfloat>
#include<ciso646>
#include<climits>
#include<clocale>
#include<cmath>
#include<csetjmp>
#include<csignal>
#include<cstdarg>
#include<cstddef>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<ctime>
#include<ccomplex>
#include<cfenv>
#include<cinttypes>
#include<cstdalign>
#include<cstdbool>
#include<cstdint>
#include<ctgmath>
#include<cuchar>
#include<cwchar>
#include<cwctype>
#include<algorithm>
#include<bitset>
#include<complex>
#include<deque>
#include<exception>
#include<fstream>
#include<functional>
#include<iomanip>
#include<ios>
#include<iosfwd>
#include<iostream>
#include<istream>
#include<iterator>
#include<limits>
#include<list>
#include<locale>
#include<map>
#include<memory>
#include<new>
#include<numeric>
#include<ostream>
#include<queue>
#include<set>
#include<sstream>
#include<stack>
#include<stdexcept>
#include<streambuf>
#include<string>
#include<typeinfo>
#include<utility>
#include<valarray>
#include<vector>
#include<array>
#include<atomic>
#include<chrono>
#include<codecvt>
#include<condition_variable>
#include<forward_list>
#include<future>
#include<initializer_list>
#include<mutex>
#include<random>
#include<ratio>
#include<regex>
#include<scoped_allocator>
#include<system_error>
#include<thread>
#include<tuple>
#include<typeindex>
#include<type_traits>
#include<unordered_map>
#include<unordered_set>
#include<cassert>
#include<cctype>
#include<cerrno>
#include<cfloat>
#include<ciso646>
#include<climits>
#include<clocale>
#include<cmath>
#include<csetjmp>
#include<csignal>
#include<cstdarg>
#include<cstddef>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<ctime>
#include<ccomplex>
#include<cfenv>
#include<cinttypes>
#include<cstdalign>
#include<cstdbool>
#include<cstdint>
#include<ctgmath>
#include<cuchar>
#include<cwchar>
#include<cwctype>
#include<algorithm>
#include<bitset>
#include<complex>
#include<deque>
#include<exception>
#include<fstream>
#include<functional>
#include<iomanip>
#include<ios>
#include<iosfwd>
#include<iostream>
#include<istream>
#include<iterator>
#include<limits>
#include<list>
#include<locale>
#include<map>
#include<memory>
#include<new>
#include<numeric>
#include<ostream>
#include<queue>
#include<set>
#include<sstream>
#include<stack>
#include<stdexcept>
#include<streambuf>
#include<string>
#include<typeinfo>
#include<utility>
#include<valarray>
#include<vector>
#include<array>
#include<atomic>
#include<chrono>
#include<codecvt>
#include<condition_variable>
#include<forward_list>
#include<future>
#include<initializer_list>
#include<mutex>
#include<random>
#include<ratio>
#include<regex>
#include<scoped_allocator>
#include<system_error>
#include<thread>
#include<tuple>
#include<typeindex>
#include<type_traits>
#include<unordered_map>
#include<unordered_set>
#include<cassert>
#include<cctype>
#include<cerrno>
#include<cfloat>
#include<ciso646>
#include<climits>
#include<clocale>
#include<cmath>
#include<csetjmp>
#include<csignal>
#include<cstdarg>
#include<cstddef>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<ctime>
#include<ccomplex>
#include<cfenv>
#include<cinttypes>
#include<cstdalign>
#include<cstdbool>
#include<cstdint>
#include<ctgmath>
#include<cuchar>
#include<cwchar>
#include<cwctype>
#include<algorithm>
#include<bitset>
#include<complex>
#include<deque>
#include<exception>
#include<fstream>
#include<functional>
#include<iomanip>
#include<ios>
#include<iosfwd>
#include<iostream>
#include<istream>
#include<iterator>
#include<limits>
#include<list>
#include<locale>
#include<map>
#include<memory>
#include<new>
#include<numeric>
#include<ostream>
#include<queue>
#include<set>
#include<sstream>
#include<stack>
#include<stdexcept>
#include<streambuf>
#include<string>
#include<typeinfo>
#include<utility>
#include<valarray>
#include<vector>
#include<array>
#include<atomic>
#include<chrono>
#include<codecvt>
#include<condition_variable>
#include<forward_list>
#include<future>
#include<initializer_list>
#include<mutex>
#include<random>
#include<ratio>
#include<regex>
#include<scoped_allocator>
#include<system_error>
#include<thread>
#include<tuple>
#define int long long
using namespace std;
int dp1[20][10][10],dp2[20][10][10],pw[20];
int fr[70][25],to[70][25],num[20],maxx[20];
int solve(int x){
int maxx = 0;
while(x){
maxx = max(maxx,x % 10);
x /= 10;
}
return maxx;
}
signed main(){
int _; cin >> _;
while(_--){
int a,m,rem; cin >> a >> m >> rem;
int mm = m;
rem--;
for(int i = 1;i <= 19;i++){
num[i] = mm % 10;
mm /= 10;
}
pw[0] = 1;
for(int i = 1;i <= 19;i++) pw[i] = pw[i - 1] * 10;
for(int a = 0;a < 10;a++){
for(int b = 0;b < 10;b++){
if(!a && !b){
dp2[1][a][b]=LLONG_MAX;
continue;
}
dp1[1][a][b] = b;
dp2[1][a][b] = 0;
while(dp1[1][a][b] <= 9){
dp1[1][a][b] += max(a,dp1[1][a][b]);
dp2[1][a][b]++;
}
dp1[1][a][b] -= 10;
}
}
for(int k = 2;k <= 19;k++){
for(int a = 0;a < 10;a++){
for(int b = 0;b < 10;b++){
if(!a && !b){
dp2[k][a][b] = LLONG_MAX;
continue;
}
int ft = b,gt = 0,t;
for(int i = 0;i <= 9;i++){
t = ft;
ft = dp1[k - 1][max(a,i)][t];
gt = min(gt + dp2[k - 1][max(a,i)][t],LLONG_MAX);
}
dp1[k][a][b] = ft;
dp2[k][a][b] = gt;
}
}
}
for(int s = 0;s < 10;s++){
if(!s){
fr[0][s] = 0;
to[0][s] = 1;
continue;
}
int ff = s,gg = 0,maxx = 0,t,b = 0;
for(int i = 19;i >= 2;i--){
for(int j = 0;j <= num[i] - 1;j++){
t = ff;
ff = dp1[i - 1][max(maxx,j)][t];
gg = min(gg + dp2[i - 1][max(maxx,j)][t],LLONG_MAX);
}
b = b * 10 + num[i];
maxx = max(maxx,num[i]);
}
ff = b * 10 + ff;
while(ff < m){
ff += solve(ff);
gg++;
}
fr[0][s] = ff % m;
to[0][s] = gg;
}
for(int i = 1;i <= 69;i++){
for(int s = 0;s < 10;s++){
int t = fr[i - 1][s];
fr[i][s] = fr[i - 1][t];
to[i][s] = min(to[i - 1][s] + to[i - 1][t],LLONG_MAX);
}
}
while(rem >= 100){
if(a <= 9 && to[0][a] <= rem){
int k = 0;
while(k <= 63 && to[k + 1][a] <= rem) k++;
rem -= to[k][a];
a = fr[k][a];
continue;
}
if(m - a <= 100){
a = (a + solve(a)) % m;
rem--;
continue;
}
mm = a;
for(int i = 1;i <= 19;i++){
num[i] = mm % 10;
mm /= 10;
}
for(int i = 19;i >= 1;i--){
if(i != 19) maxx[i] = maxx[i + 1];
else maxx[i] = 0;
maxx[i] = max(maxx[i],num[i]);
}
int k = 1;
int t = a % 10;
while(!num[k + 1] && (a / pw[k + 1] + 1) * pw[k + 1] + dp1[k + 1][maxx[k + 2]][t] < m && rem >= dp2[k + 1][maxx[k + 2]][t]) k++;
rem -= dp2[k][maxx[k + 1]][t];
num[1] = dp1[k][maxx[k + 1]][t];
num[k + 1]++;
a = 0;
for(int i = 19;i >= 1;i--) a = a * 10 + num[i];
}
while(rem--) a = (a + solve(a)) % m + 1;
cout << a << "\n";
}
return 0;
}
全部评论 2
kskbl
1周前 来自 浙江
3
4天前 来自 浙江
1



















有帮助,赞一个