#lg6661. [POI 2019/2020 R1] Pomniejszenie / 削减

[POI 2019/2020 R1] Pomniejszenie / 削减

AdditionalFile3234.zip

#3234. 「POI2020 R1」Pomniejszenie

标签: 传统 | 时间限制: 1000 ms | 内存限制: 128 MiB |

题目描述

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

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

输入格式

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

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

输出格式

对于每组数据,输出一个满足下面条件的整数 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*.in 和 pom/pom*.out:

  • 附加样例 11:t=100 t = 100;AA 依次是 20 000,20 001,…20\ 000, 20\ 001, \dots;BB 一直是 20 00020\ 000;k=1k=1;

  • 附加样例 22:t=100t = 100;对于每组数据 n=5000 n = 5000,并且 AA 和 BB 里仅包含数字9;kk 依次是 4901,…,50004901, \dots, 5000;

  • 附加样例 33:t=100t = 100;对于每组数据 n=105 n = 10^5,并且 AA 里包含数字9,BB 里仅包含数字 2;kk 依次是 1,…,1001, \dots, 100。

数据范围与提示

令 nn 是数字串 AA 和 BB 的长度,保证对于所有数据有 1≤t≤1001 \le t \le 100。

Subtask # 限制 分值
1 1≤n≤51 \le n \le 5 18
2 1≤n≤50001 \le n \le 5000 20
3 1≤n≤105,k=11 \le n \le 10^5, k=1
4 1≤n≤1051 \le n \le 10^5 42