2011-04-27 3 views
1

저는 Scheme을 처음 사용하고 스트림에 몇 가지 문제가 있습니다. 나는 자연수의 흐름을 만드는 법만 알고, 더 복잡한 것은 아닙니다. 나는 아마 그들이이 경우에 사용될 것이라고 생각했다.스트림을 사용하여 최상의 방법 찾기 - Scheme

[0 0 0 0 0 S 0 0] [0 0 0 0 X 0 X 0] [0 0 0 0 X 0 0 X] [0 0 0 : 그래서, 기본적으로,이 행렬을 X 0 0 0 X] [0 0 0 X 0 0 0 X] [0 0 XX 0 0 0 0] [0 0 D 0 0 0 0 0]

여기서 x = 접근 경로 S의 = 소스 D = 목적지

내가 할 수있는 것은 액세스 할 수있는 경로에서 한 번에 가로, 세로 및 대각선으로 한 번만 이동하여 S에서 D까지 이동해야한다는 것입니다. 지금까지 소스 위치, 액세스 가능한 경로 및 대상 위치가 포함 된 위치 목록 만 만들었습니다. 스트림을 사용하여 올바른 경로를 선택하는 방법이 있습니까? 그리고 그것이 너무 복잡해서 이해할 수 없다면, 다른 방법은 무엇입니까?

답변

1

스트림이이 문제를 이해하는 데 크게 기여하지 않는다고 생각합니다. 당신이 가진 것은 검색 문제입니다 - 당신은 가능성의 공간에서 일련의 움직임을 찾고 있습니다. 매우 비슷한 문제를보기 위해 HtDP, section 28을 살펴 보시기 바랍니다.

+0

+1 승리를위한 그래프. :-) (수치스럽게도, Google의 현장 인터뷰는 그래프를 작성하지 않았기 때문에 실패했습니다.) –