디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

횽들 나좀 구해주세요 ㅠㅠㅠㅠㅠ

컴터학생(121.163) 2010.10.06 22:17:08
조회 141 추천 0 댓글 0


컴퓨터공학부에 재학중인 학생임 ㅠㅠ

프로그램을 짜다 하두 안되서.. 횽들한테 요청해봐요

 

기본적으로 Knight Tour 프로그램을 짜는겁니다.

인터넷상에서 Recursive 로 구현하는 소스가 많아서 Recursive 로 구현하는건 문제가 없었지만,

이것을 Non-Recursive 형태로 구현하라는 과제 입니다...

학생스스로 노력해서 과제를 해야되지만,
이틀동안 매달렸는데 결국 못하고 있어 ㅠㅠㅠㅠㅠ

 

 

기존의 Recursive 형태를 스택과 트리형태로 구현하여 짜보았는데,,, 무한루프스핀 ㅠㅠ

이렇게 짜는면 안되는건지,  도움좀줘영ㅇ 형들 ㅠㅠ

 

 

 

-------------------------------------------------------------------------------------

 

[Recursive]

 

int knightTour (int m, int n, point pos, int counter){
 int i;
 point next;

 if(counter == m * n)
  return 1;

 for(i = 0; i < 8; i++){
  // 다음 포지션
  next.x = pos.x + direction[i].x;
  next.y = pos.y + direction[i].y;
  if ( next.x > 0 && next.x <= n &&
    next.y > 0 && next.y <= m &&
    board[next.y][next.x] != MARK )
  {
   board[next.y][next.x] = MARK;
   path[next.y][next.x] = counter+1;

   if ( knightTour(m, n, next, counter+1) )
    return 1;
   
   board[next.y][next.x] = UNMARK;
  }
 }

 return 0;
}

 

 

-------------------------------------------------------------------------------------

 

[Non-Recursive - 안되네요 ㅠ]

 

int knightTour_nonRecursive (int m, int n, point pos){
 
 int result = 0;
 int counter = 1;

 point next;
 position current;
 current.x = pos.x;
 current.y = pos.y;
 current.dir = 0;

 for(int i = current.dir; i < 8; ){
  // 다음 포지션
  next.y = current.y + direction[i].y;
  next.x = current.x + direction[i].x;

  if( next.x > 0 && next.x <= n && next.y > 0 && next.y <= m && board[next.y][next.x] != MARK ){
   
   current.dir = i;
   // 스택에 해당 위치와 이동방향 저장
   stackPos.push(current);
   temp = current;
   // 이동
   current.x = next.x;
   current.y = next.y;

   board[next.y][next.x] = MARK;
   path[next.y][next.x] = ++ counter;

   if(counter == m * n){
    cout << "42break"<< endl;
    break;
   }else
    i = 0;
  }else if(i == 7){
   while(1){
    board[next.y][next.x] = UNMARK;
    path[next.y][next.x] = 0;
    counter --;
    current = stackPos.top();
    stackPos.pop();
    i = current.dir + 1;

    if(i > 7)
     continue;
    else
     break;
   }
  }else{
   
   i ++;
  }
  
 }
 
 if(counter == m * n)
  result = 1;

 return result;
}

 

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 현역으로 군대 안 간게 의아한 스타는? 운영자 25/06/30 - -
AD 휴대폰 바꿀까? 특가 구매 찬스! 운영자 25/07/02 - -
344484 <게스트하우스에서의 하룻밤> 읽어보라 낄낄(223.32) 13.01.31 53 0
344483 VS2012 다 깔았는데 d861ch(211.207) 13.01.31 50 0
344482 pic 때문에 열 고생했네 이모군(175.114) 13.01.31 34 0
344481 내가 누누히 강조하는데 [6] 땡칠도사갤로그로 이동합니다. 13.01.31 242 0
344480 기초 웹앱 프로그래밍연습중인데 도움좀 [5] 햄버거(124.49) 13.01.31 216 0
344479 책삼 리얼타임렌더링 2판 사요 ㅣㅣ(14.32) 13.01.31 36 0
344477 근데 내가 프로그래밍을 제대로 안 배우고 그냥 하드웨어만 만져서 그런가 [2] d861ch(211.207) 13.01.31 89 0
344476 아쥬아쥬 횽 소환 ! 코참시에갤로그로 이동합니다. 13.01.31 41 0
344475 비주얼 스튜디오 2012 까는 중인데 이거 쓸만함? [8] d861ch(211.207) 13.01.31 146 0
344474 ㅋㅋㅋㅋㅋㅋㅋㅋ [24] ㅇㄹ(112.163) 13.01.31 235 0
344472 삼촌이 준 책 인증 [3] 네로시엔갤로그로 이동합니다. 13.01.31 179 1
344471 코딩공부하면서 든생각인데여 [10] 공부합시다(202.30) 13.01.31 232 0
344469 근데 프갤은 왜이리 재미없는 곳이 되어버렸을까 [1] 땡칠도사갤로그로 이동합니다. 13.01.31 115 0
344468 아 나도 코딩하고 싶은데 땡칠도사갤로그로 이동합니다. 13.01.31 72 0
344467 삼촌한테 책 받았심 [2] 네로시엔갤로그로 이동합니다. 13.01.31 71 0
344466 오늘의 명언 [2] 물속의다이아갤로그로 이동합니다. 13.01.31 79 0
344462 xml 파싱 받은걸 자동으로 db 테이블에 저장하는가능? [14] ㅁㄴㅇ(59.11) 13.01.31 136 0
344461 밥들먹어라 얼룩돼지갤로그로 이동합니다. 13.01.31 21 0
344460 포인터 배열 사진을 첨부 못했네 [14] 상상(175.123) 13.01.31 183 0
344459 또 mfc 입니다 ㅋ. 화면에 객체들이 리소스대로 안뿌려져요.. [1] 고릴리아갤로그로 이동합니다. 13.01.31 49 0
344458 책 받으러 가는중 네로시엔갤로그로 이동합니다. 13.01.31 40 0
344457 상상은 보시오 [2] 네로시엔갤로그로 이동합니다. 13.01.31 83 0
344455 c언어 포인터에서 배열 포인터 주소 실험하던중... [8] 상상(175.123) 13.01.31 159 0
344453 방위산업체 맛폰게임이 그냥 앱개발지원해도될까 Gitt(175.223) 13.01.31 61 0
344451 MFC 버튼 겹치는 순서 어디서 결정되는건가요..? [1] 고릴리아갤로그로 이동합니다. 13.01.31 66 0
344450 리눅스 질문좀 ㅠㅠ [5] 123(115.144) 13.01.31 79 0
344446 시대가 많이 너무 많이 변했네.. [1] ddddd(121.147) 13.01.31 112 0
344445 오늘까지 할 일 있는데 하기 싫다 에어로홍갤로그로 이동합니다. 13.01.31 49 0
344444 상상님이랑 밥 한 번 먹고 싶습니다 에어로홍갤로그로 이동합니다. 13.01.31 32 0
344443 리더쉽과 못하는 후임 [1] ㅁㄴㅇㄹ(112.216) 13.01.31 95 0
344442 서현, 써니는 쑥맥, 태연은 연애 해본 적 있다 [3] 에어로홍갤로그로 이동합니다. 13.01.31 829 0
344440 자라 루비•‿•갤로그로 이동합니다. 13.01.31 53 0
344439 이거 궁금함 [1] d(168.126) 13.01.31 39 0
344438 방학하고..독학 3개월째다..2월달에 졸업한다..이제 이력서 내도 될까? [4] ㅅㅅ(125.178) 13.01.31 296 0
344437 서버(ubuntu 12.04)에서 파일생성해야하는데 [2] ㅠㅠ개초보(183.102) 13.01.31 78 0
344436 팬티기술자란 무엇인가? [2] 에어로홍갤로그로 이동합니다. 13.01.30 180 0
344435 주갤러가 프로그래머 보는 시각 [2] 에어로홍갤로그로 이동합니다. 13.01.30 193 0
344434 삼성소프트멤버쉽 질문이요 [1] 질문(203.226) 13.01.30 207 0
344431 공대분들계시면 질문좀 해도될까요 ㅜ [2] 질문(110.15) 13.01.30 128 0
344428 이 여자분 예쁘시다 [3] 에어로홍갤로그로 이동합니다. 13.01.30 186 0
344427 책 교활사람을 찾는다. 나는 C++(C계열) 책이고 내가 원하는건 웹쪽 [4] ㅇㅇ(125.178) 13.01.30 148 0
344424 아 요번에 장학금 못받아서 너무 화가난다. [8] ㅁㄴㅇ(199.48) 13.01.30 188 0
344423 그렇게 미친 글리젠을 자랑하던 코갤도 저리된거 보니 디씨도 망했군요... [3] VERISM갤로그로 이동합니다. 13.01.30 93 0
344422 님들 키보드 운지 어케 잡으시나요? [8] VERISM갤로그로 이동합니다. 13.01.30 136 0
344420 자바에서 오라클에 DB뚫고 생성 수정 삭제 해보고 느끼는건데 [4] 08학번공대생갤로그로 이동합니다. 13.01.30 129 0
344414 ㅅㄷㅂㄹ (14.138) 13.01.30 153 0
344413 php mail() 설정 좀 알려주세요ㅠㅠ [6] 프엔퓨(210.121) 13.01.30 84 0
344412 궁금한게 잇는데 학원이나 배우는거 말이야. [3] 웁스(122.32) 13.01.30 128 0
344410 2군데 중에 어디가 낫냐? [2] ㅇㅇ(125.178) 13.01.30 119 0
344407 난 프로그래머 체질이 아닌가보다. [5] 나그네(211.110) 13.01.30 238 0
뉴스 ‘더 시즌즈’ 주우재, 하하 신곡 안무 박보검에게 직접 전수…박보검 “위험하다” 왜? 디시트렌드 07.05
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2