문제
미로탐색문제를 해결하는 문제입니다 이를 해결하는 다음 프로그램에 대해 빈칸을 채우세요
캐릭터 현재 위치의 줄번호를 입력하세요 : 3
캐릭터 현재 위치의 칸번호를 입력하세요 : 5
옷
문
옷문
옷
미로 맵 탈출 성공!
캐릭터 현재 위치의 줄번호를 입력하세요 : 1
캐릭터 현재 위치의 칸번호를 입력하세요 : 1
옷
문
옷
문
옷
문
옷
문
옷
문
옷
문
옷
문
옷 문
옷 문
옷문
옷
미로 맵 탈출 성공!
캐릭터 현재 위치의 줄번호를 입력하세요 : 1
캐릭터 현재 위치의 칸번호를 입력하세요 : 5
옷
문
미로 맵 탈출 실패
코드 빈칸 채우기
import java.util.Scanner;
public class MazeMove
{
private [][] map = {
{ 1, 1, 1, 1, 1, 1, 1 },
{ 1, 0, 0, 0, 1, 0, 1 },
{ 1, 0, 1, 0, 1, 1, 1 },
{ 1, 1, 1, 0, 1, 0, 1 },
{ 1, 0, 0, 0, 0, 0, 2 },
{ 1, 1, 1, 1, 1, 1, 1 }
};
private HEIGHT = 6, WIDTH = 7;
private previousRow = -1, previousColumn = -1;
private printMap( row, column ) {
( ( row previousRow ) ( column previousColumn ) )
;
String[] symbol = { " ", " \033[44m \033[0m", " \033[34m문 \033[0m", " " };
( i = 0; i HEIGHT; i++ ) {
( j = 0; j WIDTH; j++ ) {
( ( i row ) ( j column ) )
System.out.print( "옷" );
System.out.print( symbol[ map[i][j] ] );
}
System.out.println();
}
System.out.println();
previousRow = row;
previousColumn = column;
}
private SUCCESS = 2;
private VISITED = 3;
private NOTVISITED = 0;
private static int move( int row, int column ) {
( ( row 0 ) ( HEIGHT row ) ( column 0 ) ( WIDTH column ) )
0;
( map[row][column] SUCCESS ) {
printMap( row, column );
SUCCESS;
}
( map[row][column] NOTVISITED ) {
map[row][column] = VISITED;
printMap( row, column );
( ( row + 1, column )
SUCCESS )
SUCCESS;
printMap( row, column );
( ( row, column + 1 )
SUCCESS )
SUCCESS;
printMap( row, column );
( ( row - 1, column )
SUCCESS )
SUCCESS;
printMap( row, column );
( ( row, column - 1 )
SUCCESS )
SUCCESS;
printMap( row, column );
}
0;
}
public static void main( String[] args ) {
Scanner scan = new Scanner( System.in );
System.out.print( "캐릭터 현재 위치의 줄번호를 입력하세요 : " );
row = scan.nextInt();
System.out.print( "캐릭터 현재 위치의 칸번호를 입력하세요 : " );
column = scan.nextInt();
( ( row, column )
SUCCESS )
System.out.println( "\n미로 맵 탈출 성공!" );
System.out.println( "\n미로 맵 탈출 실패" );
scan.close();
}
}