提交时间:2024-11-07 18:46:04

运行 ID: 34415

#include<bits/stdc++.h> #define int long long using namespace std; map<int,int> tim,app; signed main(){ //freopen("walk.in","r",stdin); //freopen("walk.out","w",stdout); int a,m,n; cin>>a>>m>>n; if(n<=1000000){ for(int i=1;i<n;i++){ int a2=a; int max_dig=0; while(a2){ max_dig=max(max_dig,a2%10),a2/=10; } a+=max_dig; a=a%m; } cout<<a<<endl; }else{ int i; for(i=1;i<n;i++){ if(tim[a])break; tim[a]=i; app[i]=a; int a2=a; int max_dig=0; while(a2){ max_dig=max(max_dig,a2%10),a2/=10; } a+=max_dig; a=a%m; } if(a==0){ cout<<0<<endl; }else cout<<app[tim[a]+(n-1-tim[a])%(i-tim[a])+1]<<endl; } }