首页 > 试题广场 >

tokitsukaze and Number Game

[编程题]tokitsukaze and Number Game
tokitsukaze又在玩3ds上的小游戏了,现在她遇到了难关。
tokitsukaze得到了一个整数x,并被要求使用x的每一位上的数字重新排列,组成一个能被8整除的数,并且这个数尽可能大。
聪明的你们请帮帮可爱的tokitsukaze,如果无法组成被8整除的数,请输出-1。
保证输入不含前导0,输出也不能含前导0。

输入描述:
第一行包括一个正整数T(T<=1000),表示T组数据。
接下来T行,每一行包括一个整数x,(0≤x≤10^100)。


输出描述:
请输出用这些数字组成出能被8整除的最大的数,如果无法组成出能被8整除的数,请输出-1。
示例1

输入

2
666
1256

输出

-1
6512
头像 耕云种月
发表于 2022-01-16 18:35:10
原题解链接:https://ac.nowcoder.com/discuss/150249 首先一个结论:若后三位能被8整除,那么这个数就能被8整除。 那么做法就是贪心,前面的数尽量大,后三位的每位都尽量小,而且排列后能被888整除。 实现方式比较多(? ), 这里仅说一下stdstdstd做法。 特 展开全文