C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 팁&트릭
C++Builder Programming Tip&Tricks
[971] [퀴즈-알고리즘] 삼각수열 2
장성호 [nasilso] 8585 읽음    2010-03-18 12:04
음... 어데서 가져온 문제입니다. 출처는 나중에 올리겠습니다.
---------------------------------------------------------
[삼각수란?]
얼마전 올린 삼각수 문제에 간단히 설명해 뒀습니다.
http://cbuilder.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_tip&no=964


[문제설명]
다음과 같은 삼각수가 있다고 할때..

     3
   7 5
  2 4 6
8 5 9 3

위에서 부터 시작해서  아래 ROW 에  가까이에 있는 숫자를 따라서 내려올때
그 숫자들의 합이 가장 큰수를 찾는것이 문제입니다.

위  삼각수의 경우
첫번째 row  3 에서는 7 과 5 두가지 길이 있구..
두번째 row  7에서는 다시 세번째 row의 2와 5 두 갈래 길이 있습니다.

이런식으로 내려올때 가장 큰수는 ( 3+ 7 + 4 + 9 ) = 23 입니다.

4개 row에서 나오는 경우의 수는 2^(n-1) 즉   2^3 = 8 가지가 되네요

[문제]

자 문제입니다.

다음과 같이 25개 row로 된 삼각수에서  위에서 아래로 근접한 숫자를 따라 내려오면서
그 숫자들의 합이 가장 큰 수를 찾으세요

                                              64
                                            45 63
                                          75 09 91
                                       15 72 84 86
                                      88 02 72 19 22
                                    28 35 37 80 41 57
                                  10 60 31 25 20 24 92
                                12 71 56 48 04 39 51 04
                              45 20 15 19 08 32 01 15 85
                            27 66 98 14 22 58 14 20 73 18
                           18 87 60 14 82 55 98 03 24 34 84
                         09 48 56 50 33 35 45 62 85 33 07 31
                        44 91 55 47 38 06 52 53 51 02 84 24 60
                      30 53 87 92 96 95 59 02 13 32 11 85 74 37
                    54 10 60 29 59 73 57 97 92 85 20 45 77 75 36
                   56 88 29 37 96 64 39 20 29 43 95 01 63 30 86 91
                 23 86 39 97 41 42 67 52 82 34 66 58 87 73 08 73 43
               33 84 07 75 58 60 47 76 13 55 16 41 36 53 38 45 37 38
            50 35 05 44 26 51 51 46 24 72 71 63 66 85 34 93 43 81 97
          70 32 76 47 46 59 55 57 01 67 43 83 72 21 01 77 17 35 44 22
        90 21 88 97 56 70 24 71 21 48 05 11 85 28 71 24 35 35 96 21 44
      32 58 05 09 12 29 87 03 30 01 24 65 52 28 80 05 36 01 21 32 26 36
    25 21 85 01 21 87 47 56 55 99 86 31 79 12 27 11 63 17 65 62 36 36 21
  80 48 22 17 54 63 93 79 65 68 92 61 05 17 68 98 25 88 83 83 02 84 47 69
36 32 74 93 70 36 68 30 37 30 25 67 27 75 69 11 83 70 16 06 26 89 43 90 92  



row가 25개 이니   경우의 수는  2^(24) = 16777216 가지가  되겠네요

2^(24)승 돌려봐도 좋구, 눈으로 찾아도 좋은데..

뭐 깔쌈한 알고리즘 없을까요?


그럼..

+ -

관련 글 리스트
971 [퀴즈-알고리즘] 삼각수열 2 장성호 8585 2010/03/18
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.