A14614 | Make it Divisible by 25
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
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.
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.
输入格式
The first line contains one integer $t$ ( $1 \le t \le 10^4$ ) — the number of test cases. Then $t$ test cases follow.
Each test case consists of one line containing one integer $n$ ( $25 \le n \le 10^{18}$ ). 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.
Each test case consists of one line containing one integer $n$ ( $25 \le n \le 10^{18}$ ). 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.
输出格式
For each test case output on a separate line an integer $k$ ( $k \ge 0$ ) — the minimum number of steps to get a number such that it is divisible by $25$ and positive.
输入输出样例
输入 #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$ .
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$ .
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?
提交通过
评测结果:Accepted