전형적인 Dynamic Programming 문제... 라고 생각했는데,

사실 DP부분은 너무 간단한거라(전형적인 2차원) 아무 생각 없이 제출했다가 틀렸다.

내가 실수한 부분은 정렬 순서를 잘못 생각한 것이었는데,

다음 중 옳은 접근은 어떤 것일까?

1. 각 선분(구름)을 오른쪽 끝 좌표 기준으로(같을 경우 왼쪽 끝을 기준, 오름차순) 오름차순 정렬한다.

2. 각 선분(구름)을 왼쪽 끝 좌표 기준으로(같을 경우 오른쪽 끝을 기준, 오름차순) 오름차순 정렬한다. 

DP부분은 정말정말 쉽지만 그래도 모른다면...


12612151=55

와 같은 식이 주어졌을 때,

1+26+12+15+1=55

처럼 등식이 성립하게 만들어서 출력하는 문제다.

제한 조건은 ( 식의 길이 ) ≤ 1000, ( 오른쪽 항의 값 ─ 자연수 ) ≤ 5000 이고,

답은 유일하진 않지만 항상 존재하며,

더하기의 개수를 가장 적게 하는 것중 하나를 출력하면 된다.

채점 : http://www.acmicpc.net/problem/2978

*주의 : 1+0001+1=3 은 올바른 출력이다. 즉, Leading Zero가 있어도 된다.