#38986: python解


s116113@elvs.chc.edu.tw (資處甲116113許銪升)

學校 : 國立二林高級工商職業學校
編號 : 213088
來源 : [118.232.28.227]
最後登入時間 :
2024-11-15 21:37:24

寫上下左右右上左下六個方向就行 超出邊界不動

m,n,k = map(int,input().split())
z=[];z1=[]
for i in range(m):
    z.append(list(input()))
z1 = [int(i) for i in input().split()]
way =""
x = m-1 ;y=0
for i in range(k):
    if z1[i] == 0:
        if x-1 >= 0:
            x -= 1
            way += z[x][y]
        else:
            way += z[x][y]
    elif z1[i] == 3:
        if x+1 < m:
            x += 1
            way += z[x][y]
        else:
            way += z[x][y]
    elif z1[i] == 1:
        if y+1 < n:
            y+=1
            way += z[x][y]
        else:
            way += z[x][y]
    elif z1[i] == 4:
        if y-1 >= 0:
            y -= 1
            way += z[x][y]
        else:
            way += z[x][y]
    elif z1[i] == 2:
        if x+1 < m and y+1 < n:
            x += 1
            y += 1
            way += z[x][y]
        else:
            way += z[x][y]
    elif z1[i] == 5:
        if x-1 >= 0 and y-1 >= 0:
            x -=1
            y -=1
            way += z[x][y]
        else:
            way += z[x][y]
print(way)
print(len(set(list(way))))

#38987: Re: python解


s116113@elvs.chc.edu.tw (資處甲116113許銪升)

學校 : 國立二林高級工商職業學校
編號 : 213088
來源 : [118.232.28.227]
最後登入時間 :
2024-11-15 21:37:24

寫上下左右右下左上六個方向就行 超出邊界不動

m,n,k = map(int,input().split())
z=[];z1=[]
for i in range(m):
    z.append(list(input()))
z1 = [int(i) for i in input().split()]
way =""
x = m-1 ;y=0
for i in range(k):
    if z1[i] == 0:
        if x-1 >= 0:
            x -= 1
            way += z[x][y]
        else:
            way += z[x][y]
    elif z1[i] == 3:
        if x+1 < m:
            x += 1
            way += z[x][y]
        else:
            way += z[x][y]
    elif z1[i] == 1:
        if y+1 < n:
            y+=1
            way += z[x][y]
        else:
            way += z[x][y]
    elif z1[i] == 4:
        if y-1 >= 0:
            y -= 1
            way += z[x][y]
        else:
            way += z[x][y]
    elif z1[i] == 2:
        if x+1 < m and y+1 < n:
            x += 1
            y += 1
            way += z[x][y]
        else:
            way += z[x][y]
    elif z1[i] == 5:
        if x-1 >= 0 and y-1 >= 0:
            x -=1
            y -=1
            way += z[x][y]
        else:
            way += z[x][y]
print(way)
print(len(set(list(way))))