pC.NET

Welcome to oscc.kr



 미로찾기 [우수법]
2020-05-12 10:46:08
Hit : 36, Vote : 4

작성자 : 피시키드
- File #1 : mazesrc.zip(4.3 KB), Download : 0
- File #2 : mazeexe.zip(142.6 KB), Download : 0

txt 파일로부터 미로 데이터를 입력받아 길을 찾는다.

txt 파일은 실행파일과 같은 경로에 위치해야 한다.

 

미로DB는 "0"과 " "을 이용하여 작성하면 되고, 최대 크기는 100x80이다.

 

알고리즘은 "오른쪽 손을 벽에 대고 가면 미로를 빠져나올 수 있다"를 기초로 작성되었다.

즉, 갈림길에서 오른쪽을 최우선 선택한다.

 

 

a. 

아래와 같이 진로의 방향에 번호를 부여한다.

← : 1, ↑ : 2, → : 3, ↓ : 4

 

b.

만약 1번(←)으로 진로를 진행하고 있었다면,

다음 칸을 옮기기 위해 2(↑),1(←),4(↓),3(→) 순으로 진로를 탐색한다.

 

만약 2번으로 진로를 진행하고 있었다면,

다음 칸을 옮기기 위해 3,2,1,4 순으로 진로를 탐색한다.

  

만약 3번으로 진로를 진행하고 있었다면,

다음 칸을 옮기기 위해 3,2,1,4 순으로 진로를 탐색한다.

 

만약 4번으로 진로를 진행하고 있었다면,

다음 칸을 옮기기 위해 1,4,3,2 순으로 진로를 탐색한다.

 

: 진로 탐색은 4->3->2->1 로 이어지는 순환 구조를 띄고 있다.

 

 

c.

아래와 같이 현재 방향성에 따라 진로를 탐색하는 함수를 호출한다.

 

방향성 1 -> 2번 호출

방향성 2 -> 3번 호출

방향성 3 -> 4번 호출

방향성 4 -> 1번 호출

 

 

d.

진로를 탐색하는 함수는 아래와 같이 서로를 호출하도록 한다.

 

1번 (←)

왼쪽이 통로라면 한칸 이동

왼쪽이 벽이라면 4번 호출

 

2번 (↑)

위쪽이 통로라면 한칸 이동

위쪽이 벽이라면 1번 호출

 

3번  (→)

오른쪽이 통로라면 한칸 이동

오른쪽이 벽이라면 2번 호출

 

4번(↓)

아래쪽이 통로라면 한칸 이동

아래쪽이 벽이라면 3번 호출

 


  피시키드
아하하하하-_-;;;
 3870
 57

잠깐!
글은 인터넷에서 자신을 나타내는 유일한 모습입니다.
한줄의 댓글이나 답글로도 피시키드님은 무척 기뻐할 것입니다.
댓글쓰기     작성자   패스워드


106
비밀글입니다  작업중인 내용 
 피시키드
2 2020/05/27
105
  멀티 부팅 USB 만들기 (ISO이미지 기반) 
 피시키드
6 2020/05/27
104
  포토샵 CS3 강제종료 현상시. 
 피시키드
10 2020/05/23
103
  이스케이핑, printf(), scanf() 
 피시키드
36 2020/05/12
102
  변수명, 주소, 값, 포인터 요약 
 피시키드
31 2020/05/12
  미로찾기 [우수법]  
 피시키드
36 2020/05/12
100
  구조체 
 피시키드
39 2020/05/12
99
  문자열 좌우회전 이동  
 피시키드
42 2020/05/12
98
  10진수 2진수로 변환하여 출력하기  
 피시키드
39 2020/05/12
97
  최대공약수 구하기(유클리드 호제법)  
 피시키드
39 2020/05/12
96
  교집합과 합집합 구하기  
 피시키드
39 2020/05/12
95
  파스칼의 삼각형  
 피시키드
42 2020/05/12
94
  홀수 마방진  
 피시키드
41 2020/05/12
93
  숫자 달팽이 돌리기  
 피시키드
40 2020/05/12
92
  변수형의 제약을 넘어서 2의 n승 출력하기  
 피시키드
36 2020/05/12
91
  소수점 자리수 제한 넘어서 나눗셈하기  
 피시키드
42 2020/05/12
90
비밀글입니다  컴터 다운되기전 메모메모 
 피시키드
1 2020/05/05
89
  리눅스 패키지 관련 
 피시키드
111 2020/04/19
88
비밀글입니다  한진택배 배송사 추적 (상세) 
 피시키드
1 2020/04/19
87
  [Linux/Shell] 특정 단어가 포함된 파일을 찾아 삭제하기 
 피시키드
124 2020/04/02
86
  엑박 컨트롤러 개조 
 피시키드
131 2020/03/27
85
  editplus 빈줄 삭제 
 피시키드
248 2019/12/12
84
  ssh자동 로그인 설정   1
 피시키드
326 2019/11/08
83
비밀글입니다  영화 
 피시키드
4 2019/10/28
82
비밀글입니다  ipsw system 
 피시키드
1 2019/10/15
81
비밀글입니다  스케치업 
 피시키드
1 2019/10/15
80
비밀글입니다  임베디드 시스템 -복원됨, 이전 pc1412.iptime.org 시절 게시물-   1
 피시넷
3 2019/10/15
79
  ckeditor 업로드 테스트 완료 
 피시넷
405 2019/10/05
78
  random for only logics gate circuit 
 피시키드
383 2019/10/04
77
비밀글입니다  이미지 업로드문제   1
 피시넷
4 2019/10/02

1 [2][3][4]



Copyright (C) 1997-2020 All Rights Reserved.