배열 3 matti_block

2015. 1. 29. 01:54Security ★ Development/알고리즘

반응형

문제는 더블릿 5 배열에 있는 matti_block입니다.

문제 사이트 주소입니다.

http://183.106.113.109/30stair/matti_block/matti_block.php?pname=matti_block


블록의 정면, 측면 사진이 있을 때 이러한 모양을 만들 수 있는 블록의 최소 수와 최대 수를 구하는 문제입니다.


최소수는 다음과 같이 구해질 수 있습니다.

입력예를 보면

2 0 3 1

1 1 2 3

인데 높이 1짜리 인것이 정면에서 봤을 때 2개, 측면에서 봤을 때 1개 있습니다.

그럼 최소한 높이 1짜리는 2개가 필요하단 것을 알 수 있습니다.

높이 2는 각 한 개씩 있고 3도 한 개씩 있습니다.

1짜리 2개, 2짜리 1개, 3짜리 1개.  각각 필요한 블록의 개수를 곱해서 다 더해주면 됩니다.


최대수는 밑에서부터 필요한 블록의 수를 쌓아 나갑니다.

먼저 측면을 보면 높이 1짜리는 4 자리 모두 차지하고 있으므로 4.

정면에선 2번째 줄을 빼고 모두 1로 채울 수 있습니다 3.  

4*3=12

높이 1짜리 블록을 총 12개 채울 수 있습니다.

높이 2짜리는 정면에서 2개, 측면에서 2개 보이므로 2*2=4개를 놓을 수 있습니다.

3짜리는 1개입니다.

모두 합하면 17로 원하는 답이라는 것을 알 수 있습니다.

'Security ★ Development > 알고리즘' 카테고리의 다른 글

다차원배열 4 plibrary  (0) 2015.02.10
dynamic programming 7 subset  (0) 2015.02.03
퀵 정렬, 이진검색, parametric search 1 aggressive  (0) 2015.01.27
queue(bfs) 2 horse_knight  (0) 2015.01.24
배열 2 dwarf  (0) 2015.01.23