CF1291A.Even But Not Even

传统题 时间 2000 ms 内存 256 MiB 4 尝试 1 已通过 1 标签

Even But Not Even

题目描述

我们将一个数定义为 ebne(even but not even,偶但不偶)当且仅当它的各位数字之和能被 22 整除,但这个数本身不能被 22 整除。例如,131312271227185217185217 是 ebne 数,而 121222177013177013265918265918 不是。如果你仍然不确定 ebne 数的定义,可以参考样例说明获得更多解释。

给定一个由 nn 位数字组成的非负整数 ss。你可以删除其中一些数字(不要求连续),使得得到的数是 ebne。你不能改变数字的顺序,也就是说,删除后剩下的数字会自动拼接成一个新数。得到的数不能有前导零。你可以删除 00n1n-1 个数字(即可以一个数字都不删,也可以删掉 n1n-1 个)。

例如,若给定 s=222373204424185217171912s=222373204424185217171912,一种可能的操作方式是:$222373204424185217171912 \rightarrow 2237344218521717191$。22373442185217171912237344218521717191 的各位数字之和为 7070,能被 22 整除,但 22373442185217171912237344218521717191 本身不能被 22 整除,因此它是 ebne 数。

请找出任意一种可以得到 ebne 数的方法。如果无法通过删除得到 ebne 数,请输出无法实现的结果。

输入格式

输入包含多组测试数据。第一行包含一个整数 tt1t10001 \le t \le 1000),表示测试用例的数量。接下来是每个测试用例的描述。

每个测试用例的第一行包含一个整数 nn1n30001 \le n \le 3000),表示原始数字的位数。

第二行包含一个由 nn 位数字组成的非负整数 ss

保证 ss 没有前导零,且所有测试用例中 nn 的总和不超过 30003000

输出格式

对于输入中的每个测试用例,输出如下格式的答案:

  • 如果无法通过删除得到 ebne 数,输出 1-1(不带引号);
  • 否则,输出删除若干(可能为零)数字后得到的 ebne 数。若有多种答案,可以输出任意一种。注意,答案不能有前导零,也不能是空字符串。不要求删除的数字数量最少或最多。

说明/提示

在第一个样例中,12271227 已经是 ebne 数(因为 1+2+2+7=121+2+2+7=121212 能被 22 整除,而 12271227 不能被 22 整除),所以不需要删除任何数字。1271271717 也是可行答案。

在第二个样例中,显然无法通过删除得到 ebne 数。

在第三个样例中,可以通过删除 11 个数字得到许多 ebne 数,例如 17703177037701377013170131701317011701770770 不是 ebne 数。013013 不是合法答案,因为有前导零。

解释:

  • 1+7+7+0+3=181+7+7+0+3=181818 能被 22 整除,而 1770317703 不能被 22 整除,所以 1770317703 是 ebne 数,77013770131701317013 也是;
  • 1+7+0+1=91+7+0+1=999 不能被 22 整除,所以 17011701 不是 ebne 数;
  • 7+7+0=147+7+0=141414 能被 22 整除,但 770770 也能被 22 整除,因此 770770 不是 ebne 数。

在最后一个样例中,给出了一种可能的答案。另一种可行答案是:$222373204424185217171912 \rightarrow 22237320442418521717191$(删除最后一位数字)。

由 ChatGPT 4.1 翻译

样例

4
4
1227
1
0
6
177013
24
222373204424185217171912
1227
-1
17703
2237344218521717191

在线编程 IDE

建议全屏模式获得最佳体验