꼬마 매티는 블록놀이를 무척이나 좋아한다. 어느날 그는 아래 그림과 같은 모양으로 블록을 쌓았다.
그리고 매티는 그리는 것도 좋아한다. 매티는 블록을 다 쌓고 난 다음에는 그것을 보고 그림을 그리곤 한다. 3차원 상의 블록들의 모양을 그리는 것은 꼬마 매티에게는 상당히 어려운 작업이기 때문에 매티는 대신 블록들의 모양을 정면에서 바라본 그림과 오른쪽에 서 바라본 그림 둘을 그린다. 즉, 3차원 상에서 블록 빌딩의 모양을 정면과 오른쪽 측면 에서 바라본 투영체로써 그리는 것이다. 다음 그림은 위에 매티가 쌓은 블록 빌딩을 그 린 그림이다.
꼬마 매티는 이러한 두 가지의 그림이 있으면 다음에도 같은 모양의 블록 빌딩들을 쌓 을 수 있다고 믿었다.
몇 년후에 매티는 이 그림들을 다시 보게 되었는데,그림과 같은 블록 빌딩을 다시 쌓아 보려는 시도 중에 그 모양대로 쌓을 수 있는 블록 빌딩이 유일하 지 않다는 사실을 알게 되었다.계속적인 시도 결과 그는 단7개의 블록만 가지고 위의 그림과 같은 정면 모양과 오른쪽 측면 모양을 갖는 블록 빌딩을 재현해 낸 것은 물론 최 대 17개의 블록을 가지고도 그러한 블록 빌딩을 재현해 낼 수 있다는 사실을 알았다.
매티는 그가 어렸을 때, 그렸던 빌딩의 그림을 가지고 빌딩 블록을 재현해 보려고 한 다.빌딩 블록을 재현하는데 드는 최소의 블록 개수N과 최대의 블록 개수 M을 찾아내 는 프로그램을 작성하라. 제한시간은 10초이다.
입력 4 2 0 3 1 1 1 2 3 출력 7 17
출처:icu 영재 교육원 채점데이터:tncks0121(박수찬)