#38986: python解


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

學校 : 國立二林高級工商職業學校
編號 : 213088
來源 : [118.232.28.227]
最後登入時間 :
2024-11-15 21:37:24
m932. 2. 蜜蜂觀察 -- 2024年1月APCS | From: [118.232.28.227] | 發表日期 : 2024-01-07 20:36

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

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
m932. 2. 蜜蜂觀察 -- 2024年1月APCS | From: [118.232.28.227] | 發表日期 : 2024-01-07 20:37

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

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))))



 
ZeroJudge Forum