덧셈식 복원

시간 제한2초메모리 제한128 MB

요약
덧셈식 A+B=C의 물음표를 숫자로 채워 식이 성립하게 하되, C를 가장 크게, 그다음 A를 가장 크게 만드는 복원을 출력한다.
난이도

보통10점 중 7점

유형
동적 계획법, 그리디, 문자열, 수학
정답자
아직 제출이 없습니다

문제

A+B=C 형태의 덧셈식이 주어진다. A, B, C는 모두 음이 아닌 정수이다. 단, 한 자리 수가 아니라면 첫 자리가 0일 수 없다. 식의 일부 자리는 ?로 가려져 있다.

모든 ?를 숫자로 바꾸어 식이 성립하도록 복원하라. 가능한 복원이 여러 가지라면 C의 값이 가장 큰 것을 출력한다. 그래도 여러 가지라면 A의 값이 가장 큰 것을 출력한다.

입력

첫째 줄에 식이 주어진다. 식의 길이는 최대 50자이다.

출력

복원한 식을 출력한다. 불가능한 경우에는 -1을 출력한다.

예제5

  1. 예제 1

    입력
    5+?=?4
    
    예상 출력
    5+9=14
    
  2. 예제 2

    입력
    ?+?=4
    
    예상 출력
    4+0=4
    
  3. 예제 3

    입력
    ?2+?2=4
    
    예상 출력
    -1
    
  4. 예제 4

    입력
    ??+1=1?
    
    예상 출력
    18+1=19
    
  5. 예제 5

    입력
    ???+?=???0
    
    예상 출력
    999+1=1000