SWEA 1210. Ladder1(Python)(D4)

Wjong·2023년 2월 5일
0

swea

목록 보기
21/36


단순한 사다리타기 문제이다.
도착점에 도착할 경우, 출발점을 리턴해야한다!
그리고, 가로선이 양쪽으로 존재하는 경우는 없다.
그러므로, 사다리를 타고 내려가다가(x+=1), 가로선이 있을경우 가로선을 따라 쭉 이동(y+=1)
그리고 이동할 가로선이 없을 경우 다시 내려가기!

res=[]
def go(st):
    x,y=1,st
    while x!=100:
        if y>=2 and li[x][y-1]==1:
            while y>=2 and li[x][y-1]==1:
                y-=1
        elif y<=99 and li[x][y+1]==1:
            while y<=99 and li[x][y+1]==1:
                y+=1
        x+=1
    if li[x][y]==2:
        return st
    else:
        return 0

for m in range(10):
    tmp=""
    _=input()
    li=[[0]*(101)]
    for i in range(100):
        li.append([0]+list(map(int,input().split())))
    for i in range(1,101):
        if li[1][i]==1:
            tmp=go(i)
            if tmp!=0:
                break
    
    res.append(tmp-1)
for i in range(len(res)):
    print("#%d %s"%(i+1,res[i]))
profile
뉴비

0개의 댓글