我幾乎照著你的方法做了但第七個測資就是會出錯
程式碼:
n,m=map(int,input().split())
chart=[list(map(int,input().split())) for _ in range(n)]
ans=0
mod=True
while mod:
mod=False
for i in range(n):
for j in range(m):
if chart[i][j]==-1:
continue
#向上檢查
if i>0:
p=i-1
while (p>=0 and chart[p][j]==-1):
p-=1
if chart[p][j]==chart[i][j]:
ans+=chart[i][j]
chart[p][j]=chart[i][j]=-1
mod=True
continue
#向左檢查
if j>0:
q=j-1
while (q>=0 and chart[i][q]==-1):
q-=1
if chart[i][q]==chart[i][j]:
ans+=chart[i][j]
chart[i][q]=chart[i][j]=-1
mod=True
continue
print(ans)
我幾乎照著你的方法做了但第七個測資就是會出錯
程式碼:
n,m=map(int,input().split())
chart=[list(map(int,input().split())) for _ in range(n)]
ans=0
mod=True
while mod:
mod=False
for i in range(n):
for j in range(m):
if chart[i][j]==-1:
continue
#向上檢查
if i>0:
p=i-1
while (p>=0 and chart[p][j]==-1):
p-=1
if chart[p][j]==chart[i][j]:
ans+=chart[i][j]
chart[p][j]=chart[i][j]=-1
mod=True
continue
#向左檢查
if j>0:
q=j-1
while (q>=0 and chart[i][q]==-1):
q-=1
if chart[i][q]==chart[i][j]:
ans+=chart[i][j]
chart[i][q]=chart[i][j]=-1
mod=True
continue
print(ans)
哦哦我發現了
while (p>=0 and chart[p][j]==-1):
這裡的>=要改成>
還有向左檢查的這一行
這樣就AC了