CCCPaste

Untitled

#include 

using namespace std;
int memo[1000006];
int f(int x) {
    if(x == 0) {
        return 0;
    }
    if(memo[x] != -1) {
        return memo[x];
    }
    int tmp = x;
    int najmal_broj_pati = 2000000;
    while(tmp > 0) {
        int cifra = tmp % 10;
        if(cifra != 0) {
            najmal_broj_pati = min(najmal_broj_pati, f(x - cifra) + 1);
        }
        tmp /= 10;
    }
    memo[x] = najmal_broj_pati;
    return najmal_broj_pati;
}
int main()
{
    int n;
    cin >> n;
    for(int i = 0; i <= n; i++)
    {
        memo[i] = -1;
    }
    cout << f(n) << endl;
    
    return 0;
}