게시판 인덱스

 
 FAQFAQ   검색검색   멤버리스트멤버리스트   사용자 그룹사용자 그룹   사용자 등록하기사용자 등록하기 
 개인 정보개인 정보   비공개 메시지를 확인하려면 로그인하십시오비공개 메시지를 확인하려면 로그인하십시오   로그인로그인 

참고: n-queens의 DFS 구현

 
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.210 Principles of Programming (Fall 2008)
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
이충민



가입: 2008년 9월 20일
올린 글: 76

올리기올려짐: 2008년10월9일 11:10    주제: 참고: n-queens의 DFS 구현 인용과 함께 답변

코드:
; dfs impl 
(define (queens-dfs n)
  (define (safe? p)
    (define (safe-local? x y n)
      (not (or (= x y)
               (= (- x n) y)
               (= (+ x n) y))))
    (define (iter list n)
      (if (null? list)
          #t
          (and (safe-local? (car p) (car list) n)
               (iter (cdr list) (+ n 1)))))
    (iter (cdr p) 1))
  (define (helper p col)
    (cond ((and (= (length p) n)
                (safe? p))
           p)
          ((= col n) (helper (cdr p) (+ (car p) 1)))
          ((safe? (cons col p)) (helper (cons col p) 0))
          (else (helper p (+ col 1)))))
  (helper '() 0))

(define (print-queens-dfs n)
  (define p (queens-dfs n))
  (define (print-bar n)
    (cond ((> n 0) (display '-)
                   (print-bar (- n 1)))))
  (define (print-row n)
    (print-bar n)
    (display 'Q)
    (print-bar (- (length p) n 1)))
  (for-each (lambda (x) (print-row x) (newline))
            p))
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.210 Principles of Programming (Fall 2008) 시간대: GMT + 9 시간(한국)
페이지 11

 
건너뛰기:  
새로운 주제를 올릴 수 없습니다
답글을 올릴 수 없습니다
주제를 수정할 수 없습니다
올린 글을 삭제할 수 없습니다
투표를 할 수 없습니다


Powered by phpBB 2.0.21-7 (Debian) © 2001, 2005 phpBB Group
Translated by kss & drssay