문제

나는 코더로서의 견습생을 완성 할 것입니다. 그리고 나는 멋진 J2ME 프로젝트를 진행했지만, 내가 원하는대로 수학적 알고리즘이 좋지 않다는 것을 인정해야합니다.

내 문제는 주어진 값 세트에서 가능한 모든 "도미노 쌍"을 만드는 것입니다. 예를 들어, 가능한 값은 0에서 6으로 이동합니다. 이제 해당 값이있는 도미노 토큰을 상상해보십시오. 그런 다음 출력은 다음과 같습니다.

00
01
02
03
04
05
06
11
12
13
...

각 쌍은 한 번만 나타나지만 두 개의 동일한 값을 가진 쌍이 가능합니다.

이미이 문제를 검색했지만이 특정 문제에 대한 해결책을 찾지 못했거나 알고리즘의 작동 방식을 실제로 이해하지 못했습니다.

설명과 알고리즘에 감사드립니다. 대체 솔루션도 게시하십시오. 나는 해결책을 갖는 것뿐만 아니라 그것을 이해하는 것을 선호합니다.)

도움이 되었습니까?

해결책

의사 코드 :

for i from 0 to n inclusive
   for j from i to n inclusive
       output i,j

중요한 점은 두 번째 루프가 0에서 시작하지 않는다는 것입니다. 이것은 도미노가 이미 사용되었는지 테스트 할 필요가 없음을 의미합니다. 우리는이 알고리즘을 사용하여 생성 된 모든 도미노가 알고리즘이 구성되는 방식으로 인해 고유하다는 것을 알고 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top