성냥개비로 그린 수식: 도전

NYPC 2016 · 본선

성냥개비로 그린 수식이 주어진다.

예를 들면 위 그림은 5000-7000+3000 을 나타내고, 그 계산 결과는 10001\,000이다.

이 그림으로부터 숫자 33을 이루는 성냥개비 중 하나를 옮기면, 아래 그림과 같이 되고, 계산 결과가 00이 된다.

위 예와 같이, 성냥개비를 가능한 한 적게 옮겨서, 식의 계산 결과의 절대값이 가능한 한 작도록 해보자.

  • 새로 만든 식의 결과도 00 이상 1000010\,000 미만의(한 자리에서 네 자리까지의) 수, +, - 로 이루어져 있다.
  • 숫자는 00부터 99까지 각각, 아래와 같은 모양만 허용된다:
    즉, 다음 예와 같은 모양으로 숫자를 만드는 것은 허용되지 않는다:
  • 새로 만든 식의 결과도 한 자리 수, +, -로 이루어져야 한다.
  • 어떤 숫자(0~9) 혹은 기호(+, -)를 구성하는 성냥개비를 다른 숫자 혹은 기호로 옮기는 것은 허용된다.
    예) 0+18-1로 바꿀 수 있다.
  • 숫자를 기호로 바꾸거나, 기호를 숫자로 바꾸는 것은 허용되지 않는다.
    예) +1로 바꿀 수는 없다.
  • 아무것도 없던 곳으로 성냥개비를 옮겨서 숫자 혹은 기호를 만들어내거나, 성냥개비를 모두 제거해서 숫자 혹은 기호를 없애는 것은 허용되지 않는다.
    예) 1119로 바꿀 수는 없다.
  • 전체 수식에 성냥개비를 추가하거나, 빼는 것은 허용되지 않는다.
    즉, 입력을 이루는 전체 성냥개비의 개수와 출력을 이루는 전체 성냥개비의 개수는 같아야 한다.
  • 성냥개비를 옮겨서 숫자의 첫 글자를 0으로 만드는 것은 허용된다. 이때 이것을 88진수로 해석하지 않고 1010진수로 해석하여야 한다.
    예: 8000 에서 성냥개비 하나를 옮겨서 0800으로 바꿀 수 있고, 이것의 값은 800800이다.
  • 입력되는 식에서는 기호끼리 서로 인접해 있지 않으며, 첫 문자는 숫자이다. 출력되는 식에서도 마찬가지이다.
    예) -1+10 이나 1--1 같은 수식은 입력되지 않는다.

입력

성냥개비로 그린 수식을 나타내는 문자열이 첫번째 줄에 주어진다.

※ 입력 데이터 중 22개는 입력 문자열의 길이가 100100 미만이다.
  입력 데이터 중 33개는 입력 문자열의 길이가 100100 이상 10001\,000 미만이다.
  입력 데이터 중 55개는 입력 문자열의 길이가 10001\,000 이상 1000010\,000 미만이다.

출력

성냥개비를 옮긴 결과로 얻은 수식을 첫번째 줄에 출력한다.

예제

입력

5000-7000+3000

출력

5000-7000+2000

채점 규칙

각 숨겨진 입력 데이터별로 아래 규칙에 따라 점수를 받는다:

  • 입력 식(입력으로 주어진 식)의 계산 결과를 II라고 하고, 출력 식(제출한 프로그램이 출력한 식)의 계산 결과를 RR이라고 하고, 입력 식을 출력 식으로 만들기 위해 최소로 옮겨야 하는 성냥개비 개수를 NN이라고 할 때, 해당 입력 데이터에 대한 포인트는 IRN+100\left\lfloor \frac{I - \left|R\right|}{\sqrt{N + 100}} \right\rfloor 이다. (X\left|X\right|XX의 절대값이다. X\left\lfloor X\right\rfloorXX에서 소숫점 아래를 버린 값이다.)
    단, I<RI < \left|R\right| 일 경우 00포인트이다.
    예) 위의 출력 예시는 9999포인트를 얻는다.
  • 각 입력 데이터별로, 가장 포인트가 높은 답안이 1010점을 받는다.
  • 그보다 포인트가 낮은 답안은 10×(제출한 답안의 포인트)(가장 포인트가 높은 답안의 포인트)\displaystyle \left\lfloor \frac{10 \times (\textrm{제출한 답안의 포인트})}{(\textrm{가장 포인트가 높은 답안의 포인트})}\right\rfloor 점을 받는다.

따라서 이미 답안을 제출하여 점수를 받은 이후에, 누군가가 답안을 제출하여 어떤 입력 데이터에 대한 최대 포인트가 갱신되는 경우가 발생한다면, 점수가 감소하게 될 수 있다.