P9354题解

· · 题解

由题意可知,猫猫至少需要进行 n 的数位和次操作。注意到一个关键信息,当有前导 0 时猫猫会立刻拿走该雪糕棒,因此此时不能修改其数值。所以结论也就出来了:当 n 中存在 0 时,答案为 n 的数位和加 9,否则当任意一位修改为 1 时,修改其为 9,答案为 n 的数位和加 8

代码如下:

#include <bits/stdc++.h>

using namespace std;

int main()
{
    int T;
    cin >> T;
    while( T -- )
    {
        int ans = 0,mi = 9;
        string s;
        cin >> s;
        for( int i = 0 ; i < s.size() ; i ++ )
            ans += s[i] - '0',mi = min( mi , s[i] - '0' );
        if( mi == 0 ) cout << ans + 9 << endl;
        else cout << ans + 8 << endl;
    }
    return 0;
}