#39239: py解


rain0927117302@gmail.com (Rain Cheng)

學校 : 不指定學校
編號 : 257798
來源 : [219.70.69.156]
最後登入時間 :
2024-03-17 23:03:26
m932. 2. 蜜蜂觀察 -- 2024年1月APCS | From: [219.70.69.156] | 發表日期 : 2024-01-25 21:10

有些有點多餘,但沒差,過了就好
m, n, k = map(int, input().split())
bee = [[0] * n for i in range(m)]    
for i in range(m):
    s = list(input())
    for j in range(n):
        bee[i][j] = s[j]
movve = list(map(int, input().split()))
#移動方式
def a(move, x, y):
    if move == 0:
        return x + 0, y - 1
    elif move == 1:
        return x + 1, y + 0
    elif move == 2:
        return x + 1, y + 1
    elif move == 3:
        return x + 0, y + 1
    elif move == 4:
        return x - 1, y + 0
    elif move == 5:
        return x - 1, y - 1
#主程式
x = 0
y = m-1
ans = []
for i in range(k):
    move = movve[i]
    xx = x
    yy = y    #暫存
    try:
        x,y = a(move, x, y)
        if x < 0:
            raise
        if y < 0:
            raise
        ans.append(bee[y][x])
    except:
        x = xx
        y = yy
        ans.append(bee[y][x])
print(''.join(ans))
ans2 = set(ans)
print(len(ans2))

 

 
ZeroJudge Forum