#40702: python提問


brucelien1012@gmail.com (Bruce Lien)

學校 : 不指定學校
編號 : 253255
來源 : [123.193.183.62]
最後登入時間 :
2024-05-17 18:52:42
m932. 2. 蜜蜂觀察 -- 2024年1月APCS | From: [123.193.183.62] | 發表日期 : 2024-06-06 22:44

import copy
m,n,k=map(int,input().split())
ans=[[]]*m
ans1=[]
ans2=[]
out=[]
a=m-1
b=0
count=0
for i in range(m):
  ans1=[]
  x=input()
  for j in x:
    ans1.append(j)
    ans[i]=ans1[:]
num=list(map(int,input().split()))
ans2=copy.deepcopy(ans)
for i in num:
  if i==0 and a-1>=0:
    a-=1
  elif i==1 and b+1<n-1:
    b+=1
  elif i==2 and a+1<=m-1 and b+1<n-1:
    a+=1
    b+=1
  elif i==4 and b-1>=0:
    b-=1
  elif i==3 and a+1<m-1:
    a+=1
  elif i==5 and a-1>=0 and b-1>=0:
    a-=1
    b-=1
  print(ans[a][b],end="")
  if ans2[a][b]!=0:
    ans2[a][b]=0
    count+=1
print()
print(count)

 

請教以上哪裡出錯

 
#41879: Re: python提問


leeguanhan0909@gmail.com (李冠翰)

學校 : 高雄市苓雅區復華高級中學國中部
編號 : 276558
來源 : [36.238.157.177]
最後登入時間 :
2024-11-13 23:08:53
m932. 2. 蜜蜂觀察 -- 2024年1月APCS | From: [36.238.149.233] | 發表日期 : 2024-09-06 00:05

import copy
m,n,k=map(int,input().split())
ans=[[]]*m
ans1=[]
ans2=[]
out=[]
a=m-1
b=0
count=0
for i in range(m):
  ans1=[]
  x=input()
  for j in x:
    ans1.append(j)
    ans[i]=ans1[:]
num=list(map(int,input().split()))
ans2=copy.deepcopy(ans)
for i in num:
  if i==0 and a-1>=0:
    a-=1
  elif i==1 and b+1    b+=1
  elif i==2 and a+1<=m-1 and b+1    a+=1
    b+=1
  elif i==4 and b-1>=0:
    b-=1
  elif i==3 and a+1    a+=1
  elif i==5 and a-1>=0 and b-1>=0:
    a-=1
    b-=1
  print(ans[a][b],end="")
  if ans2[a][b]!=0:
    ans2[a][b]=0
    count+=1
print()
print(count)

 

請教以上哪裡出錯


兩大問題

1:所有邊界都是<=(m-1)or (n-1) >=0(ex:a+1<=m-1)

2.在進行計算不同字數時,不同row 和column可能有相同的字母,依據你的程式會當成不同的,建議使用set會比較好做。

加油!!

 

 
ZeroJudge Forum