CF1593B.Make it Divisible by 25

入门

通过率:0%

时间限制:1.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

It is given a positive integer nn. In 11 move, one can select any single digit and remove it (i.e. one selects some position in the number and removes the digit located at this position). The operation cannot be performed if only one digit remains. If the resulting number contains leading zeroes, they are automatically removed.

E.g. if one removes from the number 3292532925 the 33-rd digit, the resulting number will be 32253225. If one removes from the number 2009905020099050 the first digit, the resulting number will be 9905099050 (the 22 zeroes going next to the first digit are automatically removed).

What is the minimum number of steps to get a number such that it is divisible by 2525 and positive? It is guaranteed that, for each nn occurring in the input, the answer exists. It is guaranteed that the number nn has no leading zeros.

给定一个正整数 nn。每次操作中,你可以选择并删除任意一位数字(即选定该数字在数中的某个位置,并移除该位置上的数字)。当仅剩一位数字时,无法再执行该操作。若操作后得到的数字含有前导零,则这些前导零将被自动去除。

例如:若从数字 3292532925 中删除第 33 位数字,则结果为 32253225;若从数字 2009905020099050 中删除第一位数字,则结果为 9905099050(紧随第一位之后的两个 00 作为前导零被自动去除)。

求使得最终所得数字为正数且能被 2525 整除所需的最少操作步数。题目保证:对输入中出现的每个 nn,答案均存在;且输入的数字 nn 不含前导零。

输入格式

The first line contains one integer tt (1≤t≤1041 \le t \le 10^4) — the number of test cases. Then tt test cases follow.

Each test case consists of one line containing one integer nn (25≤n≤101825 \le n \le 10^{18}). It is guaranteed that, for each nn occurring in the input, the answer exists. It is guaranteed that the number nn has no leading zeros.

第一行包含一个整数 tt(1≤t≤1041 \le t \le 10^4)—— 表示测试用例的数量。随后是 tt 个测试用例。

每个测试用例由一行组成,该行包含一个整数 nn(25≤n≤101825 \le n \le 10^{18})。保证对于输入中出现的每个 nn,答案均存在。保证数字 nn 没有前导零。

输出格式

For each test case output on a separate line an integer kk (k≥0k \ge 0) — the minimum number of steps to get a number such that it is divisible by 2525 and positive.

对于每个测试用例,在单独一行输出一个整数 kk(k≥0k \ge 0)—— 即得到一个能被 2525 整除且为正数的数所需的最少操作步数。

输入输出样例

  • 输入#1

    5
    100
    71345
    3259
    50555
    2050047

    输出#1

    0
    3
    1
    3
    2

说明/提示

In the first test case, it is already given a number divisible by 2525.

In the second test case, we can remove the digits 11, 33, and 44 to get the number 7575.

In the third test case, it's enough to remove the last digit to get the number 325325.

In the fourth test case, we can remove the three last digits to get the number 5050.

In the fifth test case, it's enough to remove the digits 44 and 77.

在第一个测试用例中,给定的数字本身已能被 2525 整除。

在第二个测试用例中,我们可以删除数字 11、33 和 44,得到数字 7575。

在第三个测试用例中,只需删除最后一位数字,即可得到数字 325325。

在第四个测试用例中,我们可以删除最后三位数字,得到数字 5050。

在第五个测试用例中,只需删除数字 44 和 77。

输入解题思路,AI测评打分。不知道怎么写?

首页