#L3234. 「POI2020 R1」Pomniejszenie

「POI2020 R1」Pomniejszenie

题目描述
题目译自 POI XXVII - I etap 「Pomniejszenie」

给出两个数字串 AABB,保证 ABA \ge B。你可以修改 AA 里面恰好 kk 个数字,求出比 BB 小的最大数字。

输入格式
输入数据第一行包含一个整数 tt,表示测试数据组数。对于每组测试数据:

第一行包含三个非负整数 AABBkk。保证 AABB 的长度是一样的,并且可能有前导零。kk 是一个正整数,并且不会超过 AABB 的长度。

输出格式
对于每组数据,输出一个满足下面条件的整数 CC

  • CC 的长度必须和 AA 以及 BB 的一样,可以包含前导零。
  • CC 是由 AA 恰好修改了 kk 个字符得到。
  • CC 要尽可能的大,并且 CC 要小于 BB

如果不存在满足按上面条件的 CC,请输出 1-1

样例
输入

4
555 333 1
0555 0551 3
0555 0333 4
9 9 1

输出

255
0499
-1
8

附加样例参见 pom/pom*.inpom/pom*.out

  • 附加样例 11t=100t = 100AA 依次是 2000020\,000, 2000120\,001, \dotsBB 一直是 2000020\,000k=1k=1
  • 附加样例 22t=100t = 100;对于每组数据 n=5000n = 5000,并且 AABB 里仅包含数字 99kk 依次是 49014901, \dots, 50005000
  • 附加样例 33t=100t = 100;对于每组数据 n=105n = 10^5,并且 AA 里包含数字 99BB 里仅包含数字 22kk 依次是 11, \dots, 100100

数据范围与提示
nn 是数字串 AABB 的长度,保证对于所有数据有 1t1001 \le t \le 100

Subtask # 限制 分值
1 1n51 \le n \le 5 1818
2 1n50001 \le n \le 5000 2020
3 1n1051 \le n \le 10^5, k=1k=1
4 1n1051 \le n \le 10^5 4242