Popsicle

「SiR-1」Popsicle

题目背景

猫猫喜欢收集雪糕棒,每十三个捆成一束。

可爱的猫猫喜欢优雅地摆烂。

题目描述

猫猫有若干个雪糕棒排成一排,每个雪糕棒上有一个 0 ∼ 9 0\sim 9 09 的数字,并且满足最左边的雪糕棒上写的数字不为 0 0 0。猫猫认为这一排雪糕棒从左到右依次构成了十进制正整数 n n n

猫猫认为 0 0 0 是美好的,所以她会尽可能把 n n n 变成 0 0 0,也就是把所有雪糕棒都拿走。

猫猫每次会进行一次操作。每次操作选择一个数字非 0 0 0 的雪糕棒,并将其减 1 1 1。这之后,如果最左边有连续的一些数字为 0 0 0 的雪糕棒(也即 n n n 出现了前导 0 0 0),猫猫会把这些雪糕棒拿走。

小老鼠会来捣乱,它会在某个时刻(可能是所有操作开始之前,也可能是猫猫任意一次操作之后)改变某个雪糕棒上的一个数字。小老鼠总共只能改变一个数字

小老鼠希望操作次数尽量多,猫猫希望操作次数尽量少,所以她想知道二者都使用最优策略时,她的操作次数。

输入格式

本题有多组数据。

第一行一个正整数 T T T 表示数据组数。

对于每组数据:仅一行,一个正整数 n n n

输出格式

T T T 行,每行一个整数,表示答案。

样例 #1

样例输入 #1

2
1100
11332132121

样例输出 #1

11
28

提示说明

在这里插入图片描述

样例解释 1

对于第一组数据,小老鼠可以一开始就将 1100 1100 1100 变为 1109 1109 1109,这样猫猫共需要 1 + 1 + 9 1 + 1 + 9 1+1+9 次操作把 n n n 变为 0 0 0

数据规模与约定

  • Subtask 0(13 pts): n ≤ 99 n \leq 99 n99
  • Subtask 1(13 pts): n = 1 0 k n = 10^k n=10k k k k 为自然数。
  • Subtask 2(13 pts): n = 1 0 k − 1 n = 10^k - 1 n=10k1 k k k 为正整数。
  • Subtask 3(13 pts): n ≤ 999   999 n \leq 999\ 999 n999 999
  • Subtask 4(48 pts):无特殊限制。

对于所有数据, 1 ≤ T ≤ 3333 1 \leq T \leq 3333 1T3333 1 ≤ n ≤ 9   999   999   999   999 ( = 1 0 13 − 1 ) 1 \leq n \leq 9\ 999\ 999\ 999\ 999(=10^{13} - 1) 1n9 999 999 999 999(=10131),毕竟猫猫最多一捆只有 13 13 13 根雪糕嘛。

代码内容

// #include <iostream>
// #include <algorithm>
// #include <cstring>
// #include <stack>//栈
// #include <deque>//队列
// #include <queue>//堆/优先队列
// #include <map>//映射
// #include <unordered_map>//哈希表
// #include <vector>//容器,存数组的数,表数组的长度
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

int main()
{
    ll T;
    cin>>T;
    while(T--)
    {
        string s;
        cin>>s;

        ll ans=0,mn=9;
        for(ll i=0;i<s.size();i++)
        {
            ans+=s[i]-'0';
            mn=min(mn,ll(s[i]-'0'));
        }
        
        if(!mn) cout<<ans+9<<endl;
        else cout<<ans+8<<endl;
    }
    
    return 0;
}
  • 23
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Pretty Boy Fox

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值