>  기사  >  백엔드 개발  >  인접한 행과 열에서 수집할 수 없는 코인의 가치를 극대화

인접한 행과 열에서 수집할 수 없는 코인의 가치를 극대화

PHPz
PHPz앞으로
2023-09-12 22:13:021453검색

인접한 행과 열에서 수집할 수 없는 코인의 가치를 극대화

동적 프로그래밍은 특정 문제를 여러 개의 간단한 하위 문제로 나누어 해결하는 최적화 알고리즘 기술입니다. 이 과정을 통해 완전한 검색을 통해 얻은 품질, 조건 또는 사실을 결합하여 정확하고 정확한 탐욕 알고리즘을 얻을 수 있습니다. 그러나 이러한 접근법은 그 자체로 모순이다. 왜냐하면 그것은 큰 장점을 가지고 있지만 동시에 가장 큰 단점이자 한계이기도 하기 때문이다. 문제를 하위 문제로 나눌 수는 있지만 하위 문제로 나눌 수는 없습니다. 스스로 해결해야 합니다. 하위 문제의 개념은 본질적으로 고도로 최적화되어 있기 때문에 더 중요한 문제를 해결하는 데 사용될 수 있습니다.

코인이란 무엇이며 어떻게 교환하나요?

코인은 총 금액을 나타내는 정수의 합을 나타내는 배열의 구성 요소입니다. 이 과정에서 총액의 균형을 맞추기 위해 일부 코인을 반환해야 합니다. 빌드되지 않은 경우 -1을 반환합니다.

코인 교환에는 두 가지 솔루션이 있습니다 -

  • 재귀 - 간단하고 느린 방법입니다.

  • 동적 프로그래밍 - 시의적절하고 효율적인 방법

컴퓨터 과학에서 동전의 응용 -

  • 변경사항 배포용.

코인 운용 알고리즘

인접한 행에 있는 코인의 가치를 점차적으로 높이는 과정은 다음과 같습니다.

  • 1단계 - 시작

  • 2단계 - 길이가 n+1인 새로운 배열 구성

  • 3단계 - 단방향 처리를 위해 동적 prog[0]을 1로 설정합니다.

  • 4단계 - 값 반복

  • 5단계 - Dynamicprog[index-coins[i]] 값을 Dynamicprog[index]

  • 에 추가합니다.
  • 6단계 - 1에서 n까지의 범위를 설정하세요

  • 7단계 - 값 반환

  • 8단계 - 종료

코인 구문

으아아아

다음은 C++ 환경에서 가능한 코인 변경 구문입니다. 이 구문을 적용함으로써 우리는 이 코인을 완전히 이해하기 위한 몇 가지 코드를 구축할 것입니다.

따라야 할 방법:

  • 방법 1 - 최대 동전 수를 찾는 재귀 C++ 프로그램

  • 방법 2−인접한 행과 열의 코인을 수집할 수 없을 때 코인의 가치를 극대화합니다

최대 동전 수를 찾는 재귀 C++ 프로그램

이 코드에서는 동적 프로그래밍을 적용합니다. 논리는 arr[i][j + 1] 및 arr[i][j – 1]입니다.

예제 1

의 중국어 번역은 다음과 같습니다.

예제 1

으아아아

출력

으아아아

인접한 행과 열의 코인을 수집할 수 없을 때 코인 가치를 극대화하세요

이 C++ 코드에서는 막다른 골목에 도달하기 전에 가장 많은 코인을 찾아 수집하는 방법을 적용했습니다.

  • 한 단계 앞으로 이동, 즉 셀(i, j+1) 방향은 그대로 유지됩니다.

  • 한 단계 아래로 이동하여 왼쪽을 향합니다. 즉 셀(i+1, j)을 누르면 방향이 왼쪽으로 변경됩니다.

예 2

는 다음과 같이 번역됩니다.

예 2

으아아아

출력

으아아아

결론

오늘 이 글에서는 가능한 C++ 코드와 알고리즘을 구축하여 인접한 행에서 수집할 수 없는 열에서 코인의 가치를 최대화하는 방법을 배웠습니다.

위 내용은 인접한 행과 열에서 수집할 수 없는 코인의 가치를 극대화의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제