아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Pomniejszenie

시간 제한5초메모리 제한1024 MB

요약
길이가 같은 두 숫자 문자열 A와 B가 주어질 때, A의 숫자 정확히 k개를 바꿔 B보다 작은 가장 큰 수를 만든다.
난이도

보통10점 중 6점

유형
그리디, 구현, 문자열
정답자
아직 제출이 없습니다

문제

Bajtek i Bitek grają w prostą grę – wygrywa ten, kto napisze większą liczbę. Bracia zanotowali już swoje liczby na kartkach: Bajtek liczbę A, a Bitek liczbę B. Bajtek jest starszy i dużo lepiej gra w tę grę, więc zawsze podaje liczbę nie mniejszą niż brat. Tym razem chciałby jednak pozwolić bratu wygrać. Dyskretnie podejrzał liczbę B napisaną na kartce brata i teraz chciałby szybciutko zmienić dokładnie k cyfr w swojej liczbie A, tak aby otrzymać liczbę mniejszą od liczby Bitka. Żeby nie wyglądało na to, że się podłożył, Bajtek chciałby utworzyć jak największą liczbę mniejszą od B. Pomóż Bajtkowi!

입력

W pierwszym wierszu wejścia znajduje się jedna dodatnia liczba całkowita t, oznaczająca liczbę przypadków do rozpatrzenia.

W każdym z t kolejnych wierszy znajdują się trzy nieujemne liczby całkowite A, B i k. Liczby A i B mają taką samą długość i mogą mieć zera wiodące. Liczba k jest dodatnia i nie większa od długości liczb A i B. Zachodzi A ≥ B.

출력

Na wyjście należy wypisać dokładnie t wierszy; i-ty z nich powinien zawierać odpowiedź do i-tego przypadku z wejścia. Odpowiedzią jest jedna liczba całkowita C spełniająca następujące warunki:

  • liczba C ma taką samą długość jak liczby A i B (przy czym może mieć zera wiodące),
  • C < B,
  • liczbę C można uzyskać z liczby A, zmieniając dokładnie k cyfr,
  • liczba C jest największa możliwa.

Jeżeli nie istnieje liczba C spełniająca powyższe warunki, należy wypisać liczbę −1.

제한

Przez n oznaczamy długość liczb A i B. We wszystkich testach zachodzi 1 ≤ t ≤ 100.

  • n ≤ 100 000

예제1

  1. 예제 1

    입력
    4
    555 333 1
    0555 0551 3
    0555 0333 4
    9 9 1
    
    예상 출력
    255
    0499
    -1
    8