CF1573A.Countdown
入门
通过率:0%
时间限制:1.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given a digital clock with n digits. Each digit shows an integer from 0 to 9, so the whole clock shows an integer from 0 to 10n−1. The clock will show leading zeroes if the number is smaller than 10n−1.
You want the clock to show 0 with as few operations as possible. In an operation, you can do one of the following:
- decrease the number on the clock by 1, or
- swap two digits (you can choose which digits to swap, and they don't have to be adjacent).
Your task is to determine the minimum number of operations needed to make the clock show 0.
你有一个包含 n 位数字的数字时钟。每位数字显示一个从 0 到 9 的整数,因此整个时钟显示一个从 0 到 10n−1 的整数。若该数小于 10n−1,则时钟会显示前导零。
你希望时钟显示 0,且操作次数尽可能少。每次操作可执行以下之一:
- 将时钟上的数字减 1;
- 交换两个数字(你可以任选要交换的两个数字,它们不必相邻)。
你的任务是确定使时钟显示 0 所需的最少操作次数。
输入格式
Each test contains multiple test cases. The first line contains the number of test cases t (1≤t≤103).
The first line of each test case contains a single integer n (1≤n≤100) — number of digits on the clock.
The second line of each test case contains a string of n digits s1,s2,…,sn (0≤s1,s2,…,sn≤9) — the number on the clock.
Note: If the number is smaller than 10n−1 the clock will show leading zeroes.
每个测试包含多个测试用例。第一行包含测试用例的数量 t(1≤t≤103)。
每个测试用例的第一行包含一个整数 n(1≤n≤100)—— 时钟上的数字位数。
每个测试用例的第二行包含一个由 n 个数字组成的字符串 s1,s2,…,sn(0≤s1,s2,…,sn≤9)—— 时钟上显示的数字。
注意:若该数字小于 10n−1,则时钟会显示前导零。
输出格式
For each test case, print one integer: the minimum number of operations needed to make the clock show 0.
对于每个测试用例,输出一个整数:使时钟显示 0 所需的最少操作次数。
输入输出样例
输入#1
7 3 007 4 1000 5 00000 3 103 4 2020 9 123456789 30 001678294039710047203946100020
输出#1
7 2 0 5 6 53 115
说明/提示
In the first example, it's optimal to just decrease the number 7 times.
In the second example, we can first swap the first and last position and then decrease the number by 1.
In the third example, the clock already shows 0, so we don't have to perform any operations.
在第一个例子中,最优策略是直接将数字减小 7 次。
在第二个例子中,我们可以先交换第一位和最后一位,然后将数字减 1。
在第三个例子中,时钟已显示 0,因此无需执行任何操作。
输入解题思路,AI测评打分。不知道怎么写?