2025년, 코딩은 선택이 아닌 필수!

2025년 모든 학교에서 코딩이 시작 됩니다. 먼저 준비하는 사람만이 기술을 선도해 갑니다~

프로그래밍언어문법/실력키우기문제

1006 : 로봇- 연습문제

파아란기쁨1 2021. 7. 10. 11:14
반응형

연습문제 1) 다음과 같이 8 * 8 배열의 위치에서 0 이 있는 위치로만 이동할 수 있는 경우 1,1 에서 출발하여 8,8 위치에 갈 수 있는 최단 거리는 얼마인가.(방향은 동서남북 으로 이동할 수 있다)

 

입력예)

0 0 0 0 0 0 0 0

0 1 0 1 0 1 1 1

1 1 1 1 0 0 0 0

0 0 0 0 0 1 1 1

0 1 1 1 0 1 1 1

0 0 0 0 0 0 0 0

0 1 1 1 1 1 1 1

0 0 0 0 0 0 0 0

 

출력예)

23

 

 

연습문제2)  다음과 같이 n * m 배열의 위치에서 0 이 있는 위치로만 이동할 수 있고 방향은 동서남북으로 이동 할 수 있는 로봇이 있다. 이때 한번 작업으로 이동할 수 있는 경우는 자신이 가르키고 있는 방향으로 한칸 이동할 수 있거나 혹은 자신의 위치에서 90도 직각으로 회전 할 수 있다.

그렇다면 1,1 의 오른쪽 방향을 바라 보고 있는 위치에서 5,6의 오른쪽 방향을 바라보고 있는 위치 까지 이동할 수 있는 최소 작업횟수는 몇번인지 구하는 프로그램을 작성하시오.

 

입력 형식은 첫번째 줄에 n 과 m

그 다음부터 n * m 의 데이터가 입력 된다.

 

입력예)

5 6

0 0 0 0 0 0

0 1 1 0 1 0

0 1 0 0 0 0

0 0 1 1 1 0

1 0 0 0 0 0

 

출력예)

11

반응형