题解:AT_abc407_c [ABC407C] Security 2

思路

首先直接用搜索做是会超时的。

首先你至少要按 s 的长度次按钮保证长度达到。

那么我们考虑用一个变量 t,反过来遍历 s 来求出集体加的最少次数。

c = t \\bmod 10,如果 c 小于当前的 s_i,那么 t 就加上 t-c,否则就加上 t-c+10

最后答案就是 t 加上 s 的长度。

代码

```cpp

#include <bits/stdc++.h>

using namespace std;

int main(){

string s;

cin >> s;

long long tt = 0;

for (long long i = s.size() - 1; i >= 0; i -- ){

long long t = s[i] - '0';

long long c = tt % 10;

long long cc;

if (c <= t){

cc = tt - c + t;

}

else{

cc = tt - c + 10 + t;

}

tt = cc;

}

cout << tt + s.size();

return 0;

}

```

相关推荐
Wiktok19 小时前
关于Python继承和super()函数的问题
java·开发语言
古城小栈20 小时前
Rust IO 操作 一文全解析
开发语言·rust
ltqshs20 小时前
嵌入式C语言-指针数组和数组指针
c语言·数据结构·算法
李日灐20 小时前
C++STL:stack,queue,详解!!:OJ题练手使用和手撕底层代码
开发语言·c++
小小宫城狮20 小时前
BPE 算法原理与训练实现
算法·llm
全栈小520 小时前
【前端】在JavaScript中,=、==和===是三种不同的操作符,用途和含义完全不同,一起瞧瞧
开发语言·前端·javascript
胡萝卜不甜20 小时前
算法宗门---广度有优先搜索BFS
算法·宽度优先
这里是彪彪20 小时前
Java中的volatile关键字的作用
java·开发语言
Dxy123931021620 小时前
Python的zip用法详解
开发语言·python
逑之20 小时前
C语言笔记3:分支与循环
c语言·开发语言·笔记