타 사이트 예제인데요.. 안풀려서 질문 드립니다.
맨마루
질문 제목 : 혼자 해볼려고 하는데 잘안되네요..타 사이트 예제입니다. c언어 공부하면서 여기 예제를 가끔씩 하나씩 풀어보는데 잘안되네요.
구현해 달라는게 아니라 알고리즘의 대하여 힌트좀 부탁드립니다질문 내용 :
[입력형식]
첫째 줄은 지도의 가로, 세로 크기가 주어진다. 지도는 격자 구조로 이루어져 있으며, 크기는 100×100칸을 넘지 않는다.
둘째 줄부터는 지도상에 저글링들이 놓여있는 상황이 주어진다. 1은 저글링이 있는 곳의 표시이고, 0은 없는 곳이다.
마지막 줄에는 방사능오염을 가하는 위치가 가로, 세로 위치로 주어진다.
[출력형식]
죽을 수 있는 저글링들이 모두 죽을 때까지 몇 초가 걸리는지 첫 번째 줄에 출력하고, 둘째 줄에는 죽지 않고 남아 있게 되는 저글링의 수를 출력하시오.
[입력 예]
8 (행) 7 (열) ---- 첫번째 수는 행의 숫자, 두번째 수는 열의 숫자 이다
001 0 0 0 0 00 1 1 0 0 0 0 0 0 1 100 1 0 1 1 1 1 1 1 1 1 1 0 1 1 0 0 1 1 1 0 00 0 1 1 1 0 0 0 0 0 1 0 0 0 ---- 각각의 행과 열에 저글링을 배치 시킨다 (0 : 저글링이 없는 위치, 1 : 저글링이 있는 위치)
5 (행) 3 (열) ---- 방사능에 오염되는 저글링의 행과 열을 입력 한다.
[출력 예]
9 ------ 저글링이 죽는 시간 (초)
0 ------ 죽지 않은 저글링의 마리수
-------------------------------------------
위에 예제입니다.
제가 구현하려던 알고리즘은
1. 행과 열값을 입력
2.오염된 저글링 위치를 입력
3.저글링이 있는 위치와 없는 위치를 각 배열요소로 입력함
4. 2번으로 부터 좌,우,위,아래에 저글링이 있는지 위치 판단
5.위치에 저글링이 있을시 포인터를 이용 위치 변환
6.변환된 위치에서 4번 임무 실행
7.5번과 6번을 반복실행
8.주위에 저글링이 없고 설정한 행과 열을 벗어나면 중지
9.저글링을 찾았을때의 카운트한 값을 +3하여 출력
일단 알고리즘을 위에 방식때로 짯는데요
코딩이 안되네요.. 하다보면 어! 이럴경우는 어떻하지.. 이러다가 함수 몇개 추가하고
그러다 저도 알아보기 힘든 코딩이 되어 버리네요...ㅡㅜ
저의 문제점은 일단 위치에서 4방향을 검색해야 하고 그 4방향 중 저글링이 있음 또4방향을 검색..
그 이후 저글링 위치가 겹치는 부분을 빼야 되는 부분인데요...
코딩을 해주시진 마시고 어떤식의 방법이 좋을지 알고리즘과 그 알고리즘을 구현하는 기능의
함수와 명령어에 대한 간략한 힌트를 좀 부탁드립사 적어봅니다..
고수님들 많은 조언 부탁드려요..