만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

가장 큰 수 (어려움)

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

요약
주어진 산술식에서 일부 문자를 지워, 여전히 올바른 식이면서 값이 가장 큰 식을 찾습니다.
난이도

보통10점 중 7점

유형
동적 계획법, 문자열, 구현
정답자
아직 제출이 없습니다

문제

어린 피터는 폐품 처리장에서 노는 것을 좋아합니다. 오늘 그는 고장 난 공학용 계산기를 찾아 집에 가져왔습니다. 그는 최선을 다해 고쳤지만, 계산기는 아직 제 상태를 되찾지 못했습니다. 아직 작동하는 기능은 다음과 같습니다.

  • 계산기의 메모리에 저장된 식이 몇 개 있습니다. 피터는 그중 아무 식이나 화면에 불러올 수 있습니다.
  • 방향키와 삭제 키는 아직 작동합니다. 이 키로 피터는 화면에 있는 식에서 문자를 임의의 부분집합만큼 지울 수 있습니다.
  • 등호 키는 작동합니다. 피터는 이 키를 눌러 화면의 식을 계산할 수 있습니다.

피터는 큰 수를 좋아합니다. 계산기에 저장된 식마다, 등호를 누른 뒤 얻을 수 있는 가장 큰 수를 구하세요.

유효한 산술식인 문자열 S가 주어집니다. S에서 문자를 (아무것도 지우지 않아도 되지만, 전부 지우면 안 됩니다) 지워서, 결과 문자열 T가 다시 유효한 산술식이고 T의 값이 가능한 한 크도록 하세요.

유효한 식은 다음과 같이 정의합니다.

  • 불필요한 앞자리 0이 없는 한, 음이 아닌 정수는 유효한 식입니다.
  • a가 유효한 식이면 (a)도 유효한 식입니다.
  • a가 유효한 식이면 -a와 +a도 유효한 식입니다.
  • a와 b가 유효한 식이면 a-b, a+b, a*b도 유효한 식입니다.
  • 그 밖의 것은 유효한 식이 아닙니다.

계산할 때는 일반적인 연산자 우선순위를 따릅니다.

  • 괄호 안을 먼저 계산합니다.
  • 다음으로 단항 +와 -를 (우결합으로) 적용합니다.
  • 그다음 곱셈 *를 적용합니다.
  • 마지막으로 덧셈 +와 뺄셈 -를 왼쪽에서 오른쪽으로 적용합니다.

위에서 언급한 것 외에 다른 단항 연산이나 이항 연산은 없습니다. 특히 나눗셈과 거듭제곱은 없습니다.

단항 +와 -는 여러 개가 연달아 올 수 있습니다. 예를 들어 1*(2+3*-+-4)는 유효한 식이며, -+-4는 4, 3에 4를 곱하면 12, 2에 12를 더하면 14, 1에 14를 곱하면 14로 계산됩니다.

불필요한 앞자리 0은 허용되지 않습니다. 예를 들어 4-007은 유효한 식이 아닙니다.

입력

입력 파일의 첫 줄에는 테스트 케이스의 개수를 나타내는 정수 t가 주어집니다. 각 테스트 케이스 앞에는 빈 줄이 하나 있습니다.

각 테스트 케이스는 유효한 산술식 S가 한 줄에 주어집니다.

출력

각 테스트 케이스마다, T가 S의 부분 수열이고 T의 값이 가능한 최댓값이 되도록 하는 유효한 산술식 T를 한 줄에 출력하세요. 답이 여럿이면 그중 아무 것이나 출력해도 됩니다.

제한

t = 1000

각 식의 길이는 1 이상 1000 이하입니다.

예제1

  1. 예제 1

    입력
    3
    
    -10
    
    0*0*1
    
    0+(1*2)
    
    예상 출력
    10
    1
    0+(12)