#34632: TLE


s11104220@school.saihs.edu.tw (施同學)

學校 : 臺北市立松山高級工農職業學校
編號 : 221254
來源 : [61.223.232.64]
最後登入時間 :
2024-05-13 16:04:44
d626. 小畫家真好用 -- jack1 | From: [61.223.223.73] | 發表日期 : 2023-04-03 23:20

a=[]
for j in range(n):
    a.append([])
    for i in input():
        a[j].append(i)
x,y=list(map(int,input().split()))
ext=[[x-1,y-1]]
while len(ext)!=0:
    z=ext[0][0]
    q=ext[0][1]
    if z!=0:
        if a[z-1][q]=="-":
            ext.append([z-1,q])
    if q!=0:
        if a[z][q-1]=="-":
            ext.append([z,q-1])
    if z!=n-1:
        if a[z+1][q]=="-":
            ext.append([z+1,q])
    if q!=n-1:
        if a[z][q+1]=="-":
            ext.append([z,q+1])
    a[z][q]="+"
    del ext[0]

for i in range(n):
    print(*a[i],sep="")
 

為什麼這題的過關率那麼高
 
 
(我好像意外第一次做出BFS)
 
#34689: Re: TLE


s11104220@school.saihs.edu.tw (施同學)

學校 : 臺北市立松山高級工農職業學校
編號 : 221254
來源 : [61.223.232.64]
最後登入時間 :
2024-05-13 16:04:44
d626. 小畫家真好用 -- jack1 | From: [123.193.213.137] | 發表日期 : 2023-04-07 23:55

a=[]
for j in range(n):
    a.append([])
    for i in input():
        a[j].append(i)
x,y=list(map(int,input().split()))
ext=[[x-1,y-1]]
while len(ext)!=0:
    z=ext[0][0]
    q=ext[0][1]
    if z!=0:
        if a[z-1][q]=="-":
            ext.append([z-1,q])
    if q!=0:
        if a[z][q-1]=="-":
            ext.append([z,q-1])
    if z!=n-1:
        if a[z+1][q]=="-":
            ext.append([z+1,q])
    if q!=n-1:
        if a[z][q+1]=="-":
            ext.append([z,q+1])
    a[z][q]="+"
    del ext[0]

for i in range(n):
    print(*a[i],sep="")
 

為什麼這題的過關率那麼高
 
 
(我好像意外第一次做出BFS)

這題好像要用DFS

 
#35009: Re: TLE


cges30901 (cges30901)

學校 : 不指定學校
編號 : 30877
來源 : [101.136.203.77]
最後登入時間 :
2024-04-07 15:34:14
d626. 小畫家真好用 -- jack1 | From: [118.160.186.12] | 發表日期 : 2023-05-01 23:08

1.
ext=[[x-1,y-1]]
 
2.
            ext.append([z-1,q])
 
            ext.append([z,q-1])
 
            ext.append([z+1,q])
 
            ext.append([z,q+1])


1. 改成ext=[[x,y]]

2. append前先檢查是否已經在ext內

 
#35181: Re: TLE


s11104220@school.saihs.edu.tw (施同學)

學校 : 臺北市立松山高級工農職業學校
編號 : 221254
來源 : [61.223.232.64]
最後登入時間 :
2024-05-13 16:04:44
d626. 小畫家真好用 -- jack1 | From: [123.193.213.137] | 發表日期 : 2023-05-14 19:43

1.
ext=[[x-1,y-1]]
 
2.
            ext.append([z-1,q])
 
            ext.append([z,q-1])
 
            ext.append([z+1,q])
 
            ext.append([z,q+1])


1. 改成ext=[[x,y]]

2. append前先檢查是否已經在ext內

謝謝

 
ZeroJudge Forum