변수
- 맵의 크기 : nm
- 처음 위치 : xyd[k]
- 방향 : d[0,1,2,3] 북동남서
- 위치
X [0,1,0,-1]
Y [1,0,-1,0]
북 동 남 서
- 맵 육지바다 list[]
- 다음 자리 맵 : nextlist[x+X , y+Y]
로직
- 맵의 크기 / 위치 방향 / 맵 을 입력받는다
- for n 만큼 돌면서
for d의크기 만큼 돌면서
- 처음 방향 값을 구하고 k
if x2>n || y2>n || next == 0
k += 1
else
x += x + X[k+1]
y += y + Y[k+1]
k += 1
코드
- 아래는 불완전한 코드,,ㅎ
-> 뒤로가기 기능을 빼먹음
-> array[x2][y2] 에서 오류남
n,m = map(int,input().split())
x,y,k=map(int,input().split())
count=0
array=[]
for i in range(n):
array.append(list(map(int,input().split())))
d = [0,1,2,3]
X=[0,1,0,-1]
Y=[1,0,-1,0]
while True :
for i in range (4):
x2 = x+X[k+1]
y2 = y+Y[k+1]
next = array[x2][y2]
if (x2>n or y2>n or next==0):
k+=1
else :
count += 1
x += x+X[k+1]
y += y+Y[k+1]