100 atcoder#ABC182C. [ABC182C] To 3

[ABC182C] To 3

题目描述

各桁に 0 0 が出現しないような正の整数 N N が与えられます。
N N の桁数を k k とします。N N の桁を 0 0 個以上 k k 個未満消して、残った桁をそのままの順序で結合することで 3 3 の倍数を作りたいです。
3 3 の倍数を作ることができるか判定し、作ることができるなら作るのに必要な最少の消す桁数を求めてください。

输入格式

入力は以下の形式で標準入力から与えられる。

N N

输出格式

3 3 の倍数を作ることができないなら -1 を、作ることができるなら作るのに必要な最少の消す桁数を出力せよ。

题目大意

给定正整数 nn ,保证 nn 的每一位都不是 00 ,求最少把 nn 去掉多少位后能使得剩下的数是 33 的倍数。如果无法做到这一点,输出 1-1 。如果原数已经是 33 的倍数,输出 00 即可。

35
1
369
0
6227384
1
11
-1

提示

制約

  • 1  N < 1018 1\ \le\ N\ \lt\ 10^{18}
  • N N は各桁に 0 0 が出現しない整数

Sample Explanation 1

5 5 を消した 3 3 という数は 3 3 の倍数です。このとき消した桁数は 1 1 で最少です。

Sample Explanation 2

1 1 つも桁を消さなくてもいいことに注意してください。

Sample Explanation 3

例えば、 8 8 を消した 622734 622734 3 3 の倍数です。

Sample Explanation 4

消す桁数は N N の桁数を k k として 0 0 個以上 k k 個未満でなければならないため、全部の桁を消すことはできないことに注意してください。 この場合問題文に従って 3 3 の倍数を作ることは不可能なため -1 を出力します。