문제1198--[기초-2차원 배열] 성실한 개미(C)

1198: [기초-2차원 배열] 성실한 개미(C)

[만든사람 : 전현석, 정종광(채점데이터 및 확인), 배준호(확인), 최웅선(확인), 김지혜(그림) (2013)]
시간제한 : 1.000 sec  메모리제한 : 128 MiB

문제 설명

본 문제는 C 의 빠른 기초 학습을 위해 설계된 문제로서 C 코드 제출을 기준으로 설명되어 있습니다.
------

생명과학 분야에 관심이 생긴 영일이는 왕개미의 활동과 생태에 대해 연구하고 있었다. 

개미키우기 사육장에서 왕개미의 행동을 유심히 살펴보던 중 특별히 성실해 보이는 개미가 있었는데,
그 개미는 개미굴에서 나와 먹이까지 가장 빠른 길로 직진으로 이동하는 것이었다.

왕개미는 오른쪽으로 직진하다가, 벽을 만나면 벽을 따라 아래쪽으로 움직인다. 
벽을 따라 아래쪽으로 움직이다가, 오른쪽에 길이 나타나면 다시 오른쪽으로 직진을 한다. 
먹이를 찾으면 그 자리에 멈춘다.

호기심이 생긴 영일이는 그 왕개미를 미로 상자에 넣고 다시 관찰하기 시작했다.

미로 상자의 구조와 먹이의 위치가 주어질 때, 성실한 개미의 예상 이동 경로를 출력해보자.

단, 
미로 상자의 가장 오른쪽 아래에 도착한 경우, 
오른쪽과 아래가 모두 막혀서 더 이상 움직일 수 없는 경우, 
먹이를 찾은 경우에는 
더 이상 이동하지 못하고 그 자리에 멈춘다고 가정한다.

입력 설명

10 * 10 크기의 미로 상자 구조와 먹이 위치가 입력된다. 
(0 : 이동할 수 있는 위치, 1 : 이동할 수 없는 벽 또는 장애물 위치, 2 : 먹이의 위치) 
(2,2) : 왕개미 출발 위치 

출력 설명

성실한 개미의 예상 이동 경로를 9 로 표시해 출력한다. 
(먹이를 찾고 멈추면, 그 위치를 9 로 표시하고 출력한다.) 

입력 예시 Copy

1 1 1 1 1 1 1 1 1 1
1 0 0 1 0 0 0 0 0 1
1 0 0 1 1 1 0 0 0 1
1 0 0 0 0 0 0 1 0 1
1 0 0 0 0 0 0 1 0 1
1 0 0 0 0 1 0 1 0 1
1 0 0 0 0 1 2 1 0 1
1 0 0 0 0 1 0 0 0 1
1 0 0 0 0 0 0 0 0 1
1 1 1 1 1 1 1 1 1 1

출력 예시 Copy

1 1 1 1 1 1 1 1 1 1
1 9 9 1 0 0 0 0 0 1
1 0 9 1 1 1 0 0 0 1
1 0 9 9 9 9 9 1 0 1
1 0 0 0 0 0 9 1 0 1
1 0 0 0 0 1 9 1 0 1
1 0 0 0 0 1 9 1 0 1
1 0 0 0 0 1 0 0 0 1
1 0 0 0 0 0 0 0 0 1
1 1 1 1 1 1 1 1 1 1

도움

기초100제(c)1 v1.5 : 정보교사 커뮤니티 @컴퓨터과학사랑(CSL)
- 중고등학교 정보 선생님들과 함께 정보수업/방과후/동아리활동 등을 통해 재미있게 배워보세요.
- 모든 내용 및 이미지들은 저작자와의 협의 없이 무단으로 사용할 수 없습니다.

출처/분류