CF1593B.Make it Divisible by 25
入门
通过率:0%
时间限制:1.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
It is given a positive integer n. In 1 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 32925 the 3-rd digit, the resulting number will be 3225. If one removes from the number 20099050 the first digit, the resulting number will be 99050 (the 2 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 25 and positive? It is guaranteed that, for each n occurring in the input, the answer exists. It is guaranteed that the number n has no leading zeros.
给定一个正整数 n。每次操作中,你可以选择并删除任意一位数字(即选定该数字在数中的某个位置,并移除该位置上的数字)。当仅剩一位数字时,无法再执行该操作。若操作后得到的数字含有前导零,则这些前导零将被自动去除。
例如:若从数字 32925 中删除第 3 位数字,则结果为 3225;若从数字 20099050 中删除第一位数字,则结果为 99050(紧随第一位之后的两个 0 作为前导零被自动去除)。
求使得最终所得数字为正数且能被 25 整除所需的最少操作步数。题目保证:对输入中出现的每个 n,答案均存在;且输入的数字 n 不含前导零。
输入格式
The first line contains one integer t (1≤t≤104) — the number of test cases. Then t test cases follow.
Each test case consists of one line containing one integer n (25≤n≤1018). It is guaranteed that, for each n occurring in the input, the answer exists. It is guaranteed that the number n has no leading zeros.
第一行包含一个整数 t(1≤t≤104)—— 表示测试用例的数量。随后是 t 个测试用例。
每个测试用例由一行组成,该行包含一个整数 n(25≤n≤1018)。保证对于输入中出现的每个 n,答案均存在。保证数字 n 没有前导零。
输出格式
For each test case output on a separate line an integer k (k≥0) — the minimum number of steps to get a number such that it is divisible by 25 and positive.
对于每个测试用例,在单独一行输出一个整数 k(k≥0)—— 即得到一个能被 25 整除且为正数的数所需的最少操作步数。
输入输出样例
输入#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 25.
In the second test case, we can remove the digits 1, 3, and 4 to get the number 75.
In the third test case, it's enough to remove the last digit to get the number 325.
In the fourth test case, we can remove the three last digits to get the number 50.
In the fifth test case, it's enough to remove the digits 4 and 7.
在第一个测试用例中,给定的数字本身已能被 25 整除。
在第二个测试用例中,我们可以删除数字 1、3 和 4,得到数字 75。
在第三个测试用例中,只需删除最后一位数字,即可得到数字 325。
在第四个测试用例中,我们可以删除最后三位数字,得到数字 50。
在第五个测试用例中,只需删除数字 4 和 7。
输入解题思路,AI测评打分。不知道怎么写?