2012-10-29 2 views
-5

주어진 20x30 '시트의 종이'는 모든 셀이 표시된 인접 셀의 홀수를 가지며 모든 셀이 하나의 '피스'를 만드는 데 연결되도록 n 개의 셀을 표시합니다. 인접 셀은 인접 셀 세포. (대각선 셀을 제외한 모든 주변 셀).이것을 위해 쓰는 가장 빠른 알고리즘은 무엇입니까?

깨끗한 알고리즘이 제대로 작동하지 않습니다. 나는 현재 하나 있고 그것은 매우 혼란스럽고 혼란스럽고 나는 그것을하기위한 훨씬 더 좋은 방법이 있어야한다는 것을 알고 있습니다. 나는 잘 모릅니다. 나는 프로그램을 수행하는 데 많은 시간이 없기 때문에 신속하게 구현 된 알고리즘을 찾고 있습니다. 우리는 Ada에서 코드를 사용해야합니다.이 코드는 내 힘이 아닙니다. 현재 사용하고 있기 때문에 나는 그렇게 만들고 있습니다 CanMark (셀); - 셀을 표시 할 수 있는지 확인합니다. HasProblem (셀); - 셀에 주변에 표시된 셀이 짝수 인 지 확인합니다. HasFix (셀); - 현재 존재하는 문제를 제거하기 위해 표시 할 수있는 셀 시퀀스가 ​​있는지 확인합니다.

현재 코드는 나와 있지 않지만 집에 올 때 게시 할 예정입니다.

도움을 주시면 감사하겠습니다.

불분명합니다. 나는 당신이 내 문제를 해결하지 못하게하는 방향을 묻고 있습니다. 나는 이것이 그래프 관련 알고리즘을 사용하여 수행 될 수 있지만 확실히 알기에는 충분하지 못하다고 느낀다. 나는 지금 당장 나와 함께 코드를 가지고 있지 않지만, 가능할 때 확실히 게시 할 것이다.

+1

안녕하세요, Shelby115, StackOverflow는 프로그래밍 문제를 해결하는 데 도움이되지만 여기서는 사용자가 발생한 문제에 대해 완벽하게 작동하는 솔루션을 제출하도록 사용자에게 요청할 수있는 사이트가 아닙니다. 코드 예제를 제공하고 문제가있는 특정 영역에 집중해야합니다. 명시된 바와 같이 귀하의 질문은 매우 광범위하며 귀하가 찾고자하는 지원을 얻지 못할 것입니다. – JYelton

+2

적어도 지금까지 가지고있는 것을 보여줘야합니다. 또한, 귀하의 문제 성명은 말이되지 않습니다. 정의에 따르면 모든 셀 (가장자리 제외)에는 4 개의 인접 셀이 있습니다. 각 셀에 _marked_ 인접 셀의 홀수가 있음을 의미합니까? 또한 Ada에서 근무하는 것이 당신을 상당히 늦추는 경우 : C, Java 또는 알고있는 다른 절차 언어로 작업하는 솔루션을 얻은 다음 Ada로 이식하십시오. –

+0

더 구체적으로 기재 할 수 있습니까? '모든 표시된 셀에 표시된 이웃 수가 홀수입니다.'또는 다른 변형이 있음을 의미합니까? –

답변

0

저는 작게 시작할 것입니다. 가장 작은 숫자 (n = 1)는 간단히 : * 입니다. 0 이웃 (짝수)이 있기 때문에 분명히 작동하지 않습니다. 따라서 n = 1에 대한 해결책은 없습니다. 다음으로 n = 2를 시도하십시오. 단 하나의 선택 : ** 이것은 작동합니다. 이제 n = 3은 어떨까요? 작동하지 않습니다, n = 3에 대한 해결책이 없습니다. 이제 n = 4가되도록 어떻게 추가 할 수 있습니까? n = 6? 패턴을 형성 할 수 있습니까?

+0

그것은 기본적으로 내가 시작한 방법이며, 현재 현재의 알고리즘이 어떻게 작동하는지 보여줍니다. 비록 내가 바보 인 것을 깨달았지만 그래프 용지 치수를 기반으로하는 대신 n을 기반으로했기 때문에 아마도 알고리즘이 향상 될 것입니다. 감사합니다. – Shelby115

관련 문제