2009-11-16 3 views
8

입력 : 임의로 크기가 지정된 bools 행렬로 표시되는 미로입니다.는 미로의 좋은 찾고 표현 (이웃이 wchar_t에 매핑됩니다)는 :매트릭스의 인접 셀을 기준으로 값을 결정합니다.

┌─┐ 
    │1│ 
    ┌┘1└┐ 
┌┘111└┐ 
|11111| 
└┐111┌┘ 
    └┐1┌┘ 
    └─┘ 

편집 :는 기본적으로 각 0 가져

00100 
00100 
01110 
11111 
01110 
00100 

는 출력 (아웃 오브 바운드 0으로 계산) 벽 레이아웃을 나타내는 4 비트 값에 매핑됩니다.

내 방식과 생각은 :

나는 한 번에 각 셀 보면 간단한 것이다라고 생각했다. 그런 다음 이웃 사람을보고 어떤 종류의 가치를 부여할지 결정하십시오. 8 개의 부울 입력 (모든 이웃)이 있음을 알 수 있습니다. 이는 2^8 = 256 개의 다른 시나리오를 생성합니다. 나는 그들을 모두 코딩하는 것처럼 느껴지지 않는다.

값을 올바르게 매핑하는 더 우아한 방법이 있습니까?

+1

bool 배열로 작업 할 때 약간의 트위 더링이 필요하지만 조회 테이블이 여기에있는 일반적인 방법이 될 것입니다. 나는 대치에 대해 명확한 것은 아니지만, 0 -> {4 비트 값}인데 1-> 1과 같아서 압축을위한 범위가있을 수 있습니다. R Pate가 아래에서 말하듯이, 그럴 가치가있는 것은 거의 없습니다. – walkytalky

+0

대체 부분에 문제가 없습니다 (1-> 1, 0 -> {4 비트 값)). 그리고 물론, 더 간단한 솔루션으로 돌아 가야합니다.하지만 더 좋은 것이 있는지 궁금합니다. –

+1

출력에서 ​​모든면에서 1로 둘러싸인 0은 어떻게 표시됩니까? –

답변

관련 문제