당신의 작업은 주어진 대상 문자열을 만드는 것입니다. 비어있는 문자열로 시작하면 문자열이 원하는 문자열과 같아 질 때까지 문자를 추가해야합니다. 비용이 x 인 문자열 끝에 문자를 추가하거나 비용이 y 인 문자열을 복제 할 수 있습니다. 우리가 원하는 것은 가장 저렴한 방법입니다.
테스트 사례
targetString , appendcost, clonecost -> totalcost
"bb", 1, 2 -> 2
"bbbb", 2, 3 -> 7
"xzxpcxzxpy", 10, 11 -> 71
"abababab", 3, 5 -> 16
"abababab", 3, 11 -> 23
1
비용은 어떻게 정의됩니까? 양의 정수입니까?
—
Arnauld
코드 골프 (가장 짧은 코드) 챌린지를 만들려고한다고 생각하므로 코드 챌린지와 프로그래밍 점수를 대체하는 프로그래밍 퍼즐 태그를 제거했습니다.
—
xnor
누군가가 모든 테스트 사례에서 작동하지만 일반적으로 최적은 아니지만 휴리스틱 스가 좋은 프로그램을 작성할 수 있기 때문에 더 많은 테스트 사례를 갖는 것이 도움이 될 것이라고 생각합니다. 특히, 테스트 사례 중 어느 것도 처음에는 여러 개의 클론 또는 하위 문자열의 클론을 가지고 있지 않습니다. 비용 만 변경하면 출력이 변경되는 예를 갖는 것이 좋을 것이라고 생각합니다.
—
xnor
그건 그렇고 멋진 첫 도전!
—
Outgolfer Erik
단일 문자 복제가 여전히 복제 작업으로 간주됩니까?
—
digEmAll