1
Erlang을 처음 사용하고 Sudoku 해결사를 만들려고합니다. 지금까지 나는에 따라 행으로 분할 그건이Erlang의 Sudoku에서 상자 얻기
sudoku() -> [6,7,1,8,2,3,4,9,5,5,4,9,1,7,6,3,2,8,3,2,8,5,4,9,1,6,7,1,3,2,6,5,7,8,4,9,9,8,6,4,1,2,5,7,3,4,5,7,3,9,8,6,1,2,8,9,3,2,6,4,7,5,1,7,1,4,9,3,5,2,8,6,2,6,5,7,8,1,9,3,4].
처럼 81 개 정수 (9 × 9)의 목록으로 구성된 입력을 가질 수 list splitting algorithm by stemm :
split_rows(sudoku()).
반환
[5,4,9,1,7,6,3,2,8],
[3,2,8,5,4,9,1,6,7],
[1,3,2,6,5,7,8,4,9],
[9,8,6,4,1,2,5,7,3],
[4,5,7,3,9,8,6,1,2],
[8,9,3,2,6,4,7,5,1],
[7,1,4,9,3,5,2,8,6],
[2,6,5,7,8,1,9,3,4]]
열을 얻으려면이 행렬을 elegant solution of mpm으로 바꾸십시오.
다음 단계는 9 개의 사각형 상자 목록을 수집하는 것입니다. 그런 다음 해당 목록에 중복 요소가 있는지 확인하여 솔루션이 유효한지 확인할 수 있습니다.
불행하게도 나는, 각 사각형 블록의 아홉 개 숫자를 나타냅니다[[1],[2],[3],
[4],[5],[6],
[7],[8],[9]]
예를 들어, 어떻게 사각형을 획득하는 명확한 생각이 없다. 그래서이 경우 정사각형은 다음과 같이 보입니다.
[5,4,9,
3,2,8,
1,2,2]
누구나 어떻게 할 수 있습니까?
값을 인덱싱하여 튜플 목록을 만들고 사각형 번호를 계산하려고했지만이 방법이 더 좋습니다! 색인은 여전히 유용합니다. 감사! –
['list comprehension'] (http://www.erlang.org/doc/programming_examples/list_comprehensions.html)입니다. 행 - 행은 행의 모든 행에 대한 의미입니다. – zaquest
답장을 보내 주셔서 다시 한번 감사 드리며 매력처럼 작동합니다. 이제 스도쿠 스의 유효성을 확인할 수 있습니다. 불행히도 나는 왜 그것이 작동하는지 모르지만, 나는 그것을 프린트하고 집으로 오는 길에 보게 될 것이다. –