예를 들면 위 그림은 5000-7000+3000 을 나타내고, 그 계산 결과는 1000이다.
이 그림으로부터 숫자 3을 이루는 성냥개비 중 하나를 옮기면, 아래 그림과 같이 되고, 계산 결과가 0이 된다.
위 예와 같이, 성냥개비를 가능한 한 적게 옮겨서, 식의 계산 결과의 절대값이 가능한 한 작도록 해보자.
새로 만든 식의 결과도 0 이상 10000 미만의(한 자리에서 네 자리까지의) 수, +, - 로 이루어져 있다.
숫자는 0부터 9까지 각각, 아래와 같은 모양만 허용된다:
즉, 다음 예와 같은 모양으로 숫자를 만드는 것은 허용되지 않는다:
새로 만든 식의 결과도 한 자리 수, +, -로 이루어져야 한다.
어떤 숫자(0~9) 혹은 기호(+, -)를 구성하는 성냥개비를 다른 숫자 혹은 기호로 옮기는 것은 허용된다.
예) 0+1을 8-1로 바꿀 수 있다.
숫자를 기호로 바꾸거나, 기호를 숫자로 바꾸는 것은 허용되지 않는다.
예) +를 1로 바꿀 수는 없다.
아무것도 없던 곳으로 성냥개비를 옮겨서 숫자 혹은 기호를 만들어내거나, 성냥개비를 모두 제거해서 숫자 혹은 기호를 없애는 것은 허용되지 않는다.
예) 111을 9로 바꿀 수는 없다.
전체 수식에 성냥개비를 추가하거나, 빼는 것은 허용되지 않는다.
즉, 입력을 이루는 전체 성냥개비의 개수와 출력을 이루는 전체 성냥개비의 개수는 같아야 한다.
성냥개비를 옮겨서 숫자의 첫 글자를 0으로 만드는 것은 허용된다. 이때 이것을 8진수로 해석하지 않고 10진수로 해석하여야 한다.
예: 8000 에서 성냥개비 하나를 옮겨서 0800으로 바꿀 수 있고, 이것의 값은 800이다.
입력되는 식에서는 기호끼리 서로 인접해 있지 않으며, 첫 문자는 숫자이다. 출력되는 식에서도 마찬가지이다.
예) -1+10 이나 1--1 같은 수식은 입력되지 않는다.
입력
성냥개비로 그린 수식을 나타내는 문자열이 첫번째 줄에 주어진다.
※ 입력 데이터 중 2개는 입력 문자열의 길이가 100 미만이다.
입력 데이터 중 3개는 입력 문자열의 길이가 100 이상 1000 미만이다.
입력 데이터 중 5개는 입력 문자열의 길이가 1000 이상 10000 미만이다.
출력
성냥개비를 옮긴 결과로 얻은 수식을 첫번째 줄에 출력한다.
예제
입력
5000-7000+3000
출력
5000-7000+2000
채점 규칙
각 숨겨진 입력 데이터별로 아래 규칙에 따라 점수를 받는다:
입력 식(입력으로 주어진 식)의 계산 결과를 I라고 하고,
출력 식(제출한 프로그램이 출력한 식)의 계산 결과를 R이라고 하고,
입력 식을 출력 식으로 만들기 위해 최소로 옮겨야 하는 성냥개비 개수를 N이라고 할 때,
해당 입력 데이터에 대한 포인트는
⌊N+100I−∣R∣⌋
이다.
(∣X∣ 는 X의 절대값이다. ⌊X⌋ 는 X에서 소숫점 아래를 버린 값이다.)
단, I<∣R∣ 일 경우 0포인트이다.
예) 위의 출력 예시는 99포인트를 얻는다.
각 입력 데이터별로, 가장 포인트가 높은 답안이 10점을 받는다.
그보다 포인트가 낮은 답안은 ⌊(가장포인트가높은답안의포인트)10×(제출한답안의포인트)⌋ 점을 받는다.
따라서 이미 답안을 제출하여 점수를 받은 이후에, 누군가가 답안을 제출하여 어떤 입력 데이터에 대한 최대 포인트가 갱신되는 경우가 발생한다면, 점수가 감소하게 될 수 있다.