CF792C Divide by Three

题目描述

在一个黑板上写着一个不超过 $10^5$ 位的正整数 $n$。你需要通过擦除部分数字将其转化为一个美丽数,且要求擦除的数字尽可能少。 美丽数,就是一个不含前导零,是 $3$ 的倍数且至少包含一位数字的正整数。举个例子:$\texttt{0}$、$\texttt{99}$、$\texttt{10110}$ 都是美丽数,但 $\texttt{00}$、$\texttt{03}$、$\texttt{122}$ 都不是。 编写一个程序,为给定的 $n$ 找出一个美丽数,使 $n$ 可以通过擦除尽可能少的数字转化为这个数字。你可以任意擦除一组数字。例如,数字 $n$ 中擦除的数字不必连续。 如果不可能通过删数把 $n$ 变成美丽数,输出 `-1`。如果有多个最优答案,输出任意一个即可。

输入格式

第一行包含一个数 $n$,一个不含前导零的正整数($1\le n

输出格式

输出一个数字——通过擦除尽可能少的数字得到的任何美丽数。如果没有答案,则打印 `-1`。

说明/提示

第一个样例中,只需擦除第一个数字即可得到 $3$ 的倍数。但擦除第一个数字会导致出现前导零,因此最少需要擦除两个数字。