문제 번호 G: [100점] 문제06
시간 제한: 1 Sec 메모리 제한: 128 MB제출: 764 해결 문제 수: 98
[제출][채점 상황 열람]
문제 설명
미로탈출 로봇 대회를 개최하였다. 대회에 사용되는 미로는 가로(X), 세로(Y) 100 이하의 크기이며, 로봇이 미로를 한 칸 이동하는 데는 1초가 걸린다.
로봇이 출발점에서 도착점까지 가장 빨리 이동할 경우 걸리는 시간을 구하는 프로그램을 작성하시오.
* 입출력 Template이필요한경우 C/C++ 제출은다음코드를복사하여코드를작성하시오
#include <stdio.h>
int maze[101][101];
int X, Y;
int sx, sy, ex, ey;
int main(void)
{
int i, j, k=0;
//입력받는부분
scanf("%d %d", &X, &Y);
scanf("%d %d %d %d", &sx, &sy, &ex, &ey);
for(i=0 ; i<Y ; i++)
{
for(j=0 ; j<X ; j++) scanf("%1d", &maze[i][j]);
}
//여기서부터작성
//출력하는부분
printf("%d\n", k);
return 0;
}
* 입출력 Template이필요한경우 JAVA 제출은다음코드를복사하여코드를작성하시오
import java.io.IOException;
import java.util.Scanner;
public class Main
{
public static void main(String [] arg) throws IOException
{
String [] maze ;
int X, Y;
int sx, sy, ex, ey;
int i, j, k=0;
Scanner sc = new Scanner(System.in);
//입력받는부분
X = sc.nextInt();
Y = sc.nextInt();
sx = sc.nextInt();
sy = sc.nextInt();
ex = sc.nextInt();
ey = sc.nextInt();
maze = new String [Y];
sc.nextLine();
for(i=0 ; i<Y ; i++) maze[i] = sc.nextLine();
//여기서부터작성
//출력하는부분
System.out.println(k);
sc.close();
}
}
[힌트]
입력예2
|
8 10
1 1 7 9
00000101
11001000
10000010
01101010
00000110
01010000
01110110
10000100
10011101
01000001
|
출력예2
|
16
|
입력예3
|
5 5
1 1 5 5
00000
01101
00100
01110
00000
|
출력예3
|
8
|
입력
첫줄에 미로의 크기 X, Y(1≤X, Y≤100)가 주어진다. 둘째 줄에 출발점 x, y 좌표와 도착점 x, y 좌표가 공백으로 구분하여 주어진다. 셋째 줄부터 미로의 정보가 길은 0, 벽은 1로 공백이 없이 들어온다. (주의) 좌표는 좌측상단이 가장 작은 위치이며 이 위치의 좌표는 (1,1)이다.
출력
첫줄에 출발점에서 도착점까지 가장 빠른 시간을 출력한다.
입력 예시
8 7
1 2 7 5
11111111
00000111
10110011
10111001
10111101
10000001
11111111
출력 예시
9
도움말
Anything about the Problems, Please Contact Admin:admin
(c)2015 Edunix Corporation, A Family Company of Willtek Group
GPL2.0 2003-2015 HUSTOJ Project TEAM
No comments:
Post a Comment