동적 프로그래밍 재귀 및 메모 뿌리는 뿌리
-
22-08-2019 - |
문제
이 삼각형에서 0-4 에서이 방대한 INT 배열이 있습니다. 루비로 동적 프로그래밍을 배우려고 노력하고 있으며 세 가지 기준을 충족하는 삼각형의 경로 수를 계산하는 데 도움을 원합니다.
- 70 개의 요소로 행의 제로 포인트 중 하나에서 시작해야합니다.
- 경로는 바로 위에있을 수 있으며 (바로 위에있는 숫자가있는 경우) 왼쪽으로 대각선으로 연결됩니다. 이러한 옵션 중 하나는 항상 사용할 수 있습니다
- 첫 번째 행에서 0에 도달하기 위해 취하는 경로의 합은 최대 140을 추가해야합니다.
예, 맨 아래 줄에서 두 번째 0에서 시작하십시오. 당신은 4로 왼쪽으로 직접 또는 대각선으로 바로 이동할 수 있습니다. 어느 경우 에나 도착한 숫자는 방문한 모든 숫자의 실행 수에 추가되어야합니다. 1에서 당신은 왼쪽으로 직접 또는 0 (실행 합계 = 1)으로 2 (실행 합계 = 3)로 이동할 수 있습니다.
0
41
302
2413
13024
024130
4130241
30241302
241302413
1302413024
02413024130
413024130241
3024130241302
24130241302413
130241302413024
0241302413024130
41302413024130241
302413024130241302
2413024130241302413
13024130241302413024
024130241302413024130
4130241302413024130241
30241302413024130241302
241302413024130241302413
1302413024130241302413024
02413024130241302413024130
413024130241302413024130241
3024130241302413024130241302
24130241302413024130241302413
130241302413024130241302413024
0241302413024130241302413024130
41302413024130241302413024130241
302413024130241302413024130241302
2413024130241302413024130241302413
13024130241302413024130241302413024
024130241302413024130241302413024130
4130241302413024130241302413024130241
30241302413024130241302413024130241302
241302413024130241302413024130241302413
1302413024130241302413024130241302413024
02413024130241302413024130241302413024130
413024130241302413024130241302413024130241
3024130241302413024130241302413024130241302
24130241302413024130241302413024130241302413
130241302413024130241302413024130241302413024
0241302413024130241302413024130241302413024130
41302413024130241302413024130241302413024130241
302413024130241302413024130241302413024130241302
2413024130241302413024130241302413024130241302413
13024130241302413024130241302413024130241302413024
024130241302413024130241302413024130241302413024130
4130241302413024130241302413024130241302413024130241
30241302413024130241302413024130241302413024130241302
241302413024130241302413024130241302413024130241302413
1302413024130241302413024130241302413024130241302413024
02413024130241302413024130241302413024130241302413024130
413024130241302413024130241302413024130241302413024130241
3024130241302413024130241302413024130241302413024130241302
24130241302413024130241302413024130241302413024130241302413
130241302413024130241302413024130241302413024130241302413024
0241302413024130241302413024130241302413024130241302413024130
41302413024130241302413024130241302413024130241302413024130241
302413024130241302413024130241302413024130241302413024130241302
2413024130241302413024130241302413024130241302413024130241302413
13024130241302413024130241302413024130241302413024130241302413024
024130241302413024130241302413024130241302413024130241302413024130
4130241302413024130241302413024130241302413024130241302413024130241
30241302413024130241302413024130241302413024130241302413024130241302
241302413024130241302413024130241302413024130241302413024130241302413
1302413024130241302413024130241302413024130241302413024130241302413024
02413024130241302413024130241302413024130241302413024130241302413024130
해결책
그러나 나는 처럼 숙제 :)
상단에서 시작할 때 '경로'문제에 대해 추론하고 다른 방식으로 규칙을 따르는 것이 더 쉽다는 것을 알게됩니다.
이것은 다음을 의미합니다.
- 부분 경로는 상단 0이거나 확장 된 부분 경로 일 수 있습니다.
- 부분 경로 Pr, C의 확장은 R이 마지막 행이 아니라면
- PR, C + P (R + 1), C의 확장
- Pr의 확장, C+P (R+1), C+1
'합'규칙은 모든 완전한 경로 중 일부를 선택합니다.
제휴하지 않습니다 StackOverflow