#44233: 求救,不知為何是82%,請問還有哪種情況沒有想到


nick0212 (nick)

學校 : 國立臺南第一高級中學
編號 : 285940
來源 : [39.9.194.123]
最後登入時間 :
2024-12-15 18:51:40
f072. 3. 家裡的後花園 (Garden) -- 2020年5月TOI練習賽新手組 | From: [123.205.150.98] | 發表日期 : 2024-11-16 09:41

n=int(input())
s=[int(x) for x in input().split()]
temp=0
index=-1
fn=0
flag=0
for i in s:
    index+=1
    if i==1:
        for x in s[index:]:
            index+=1
            if x==0:
                if flag==1:       #for 9後面是0的情況,直接略過
                    flag=0
                    continue
                temp+=1
            elif(x==9 and s[index-2]==0 ):
                temp-=1
                if index!=len(s):        #for re
                    if s[index]==0:
                        s[index]=2      # 把9後面0的數子改成2,這樣就不會進到0909就不會多扣
                        flag+=1        
            elif(x==1):
                fn+=temp
                temp=0
        break
print(fn)
           
 
#44234: Re: 求救,不知為何是82%,請問還有哪種情況沒有想到


hansjiang1017@gmail.com (單純想出題所以在拚30%)

學校 : 不指定學校
編號 : 278037
來源 : [111.242.125.61]
最後登入時間 :
2024-12-26 20:59:53
f072. 3. 家裡的後花園 (Garden) -- 2020年5月TOI練習賽新手組 | From: [111.242.102.214] | 發表日期 : 2024-11-16 09:50

n = int(input())
g = list(map(int, input().split()))
found = False
j = 0
if g.count(1) < 2:
    print(0)
else:
    while not found:
        if g[j] == 1:
            g[0:j] = [1 for i in range(j)]
            found = True
        j+=1
    found = False
    j = n-1
    while not found:
        if g[j] == 1:
            g[j:n] = [1 for i in range(n-j)]
            found = True
        j-=1
    for i in range(n):
        if g[i] == 9:
            if g[i+1] != 9:
                if g != 0:
                    g[i-1] = 1
                if g != n:
                    g[i+1] = 1
            else:
                if g != 0:
                    g[i-1] = 1
    print(g.count(0))'
我這樣有AC, 少設想欄杆小於2的情況和兩隻害蟲連在一起的情況
 
#44235: Re: 求救,不知為何是82%,請問還有哪種情況沒有想到


nick0212 (nick)

學校 : 國立臺南第一高級中學
編號 : 285940
來源 : [39.9.194.123]
最後登入時間 :
2024-12-15 18:51:40
f072. 3. 家裡的後花園 (Garden) -- 2020年5月TOI練習賽新手組 | From: [123.205.150.98] | 發表日期 : 2024-11-16 12:25

n = int(input())
g = list(map(int, input().split()))
found = False
j = 0
if g.count(1) < 2:
    print(0)
else:
    while not found:
        if g[j] == 1:
            g[0:j] = [1 for i in range(j)]
            found = True
        j+=1
    found = False
    j = n-1
    while not found:
        if g[j] == 1:
            g[j:n] = [1 for i in range(n-j)]
            found = True
        j-=1
    for i in range(n):
        if g[i] == 9:
            if g[i+1] != 9:
                if g != 0:
                    g[i-1] = 1
                if g != n:
                    g[i+1] = 1
            else:
                if g != 0:
                    g[i-1] = 1
    print(g.count(0))'
我這樣有AC, 少設想欄杆小於2的情況和兩隻害蟲連在一起的情況
n=int(input())
s=[int(x) for x in input().split()]
temp=0
index=-1
fn=0
flag=0
for i in s:
    index+=1
    if i==1:
        for x in s[index:]:
            index+=1
            if x==0:
                if flag==1:       #for 9後面是0的情況,直接略過
                    flag=0
                    continue
                temp+=1
            elif(x==9 and s[index-2]==0 ):
                temp-=1
                if index!=len(s):        #for re
                    if s[index]==0:    
                        s[index]=2
                        flag+=1  
            elif(x==9 and s[index-2]==9):
                if index!=len(s):        #for re
                    if s[index]==0:
                        s[index]=2
                        flag+=1
            elif(x==1):
                fn+=temp
                temp=0
        break
print(fn)
           

感謝電神,我變成88%了,我確實沒考慮到99的情況,但欄杆小於2的情況我應該是可以的,因為我是讓程式碰到1才加回去,因此沒碰到1的話,應不會有加回去的情況。
想請問還有哪裡可能會是沒有考慮到的情況,感謝電神

 
#44236: Re: 求救,不知為何是82%,請問還有哪種情況沒有想到


sam851015@gmail.com (多挖鼻孔有益身心健康)

學校 : 不指定學校
編號 : 277705
來源 : [123.192.228.253]
最後登入時間 :
2024-12-26 17:35:48
f072. 3. 家裡的後花園 (Garden) -- 2020年5月TOI練習賽新手組 | From: [123.192.228.253] | 發表日期 : 2024-11-16 14:29

試試看讓你的程式跑這筆測資

4
1 9 0 1


根據題意,9 的旁邊不能種植,故這裡應輸出 0

你的程式會輸出 1

 
#44317: Re: 求救,不知為何是82%,請問還有哪種情況沒有想到


nick0212 (nick)

學校 : 國立臺南第一高級中學
編號 : 285940
來源 : [39.9.194.123]
最後登入時間 :
2024-12-15 18:51:40
f072. 3. 家裡的後花園 (Garden) -- 2020年5月TOI練習賽新手組 | From: [123.205.150.98] | 發表日期 : 2024-11-24 14:39

試試看讓你的程式跑這筆測資

4
1 9 0 1


根據題意,9 的旁邊不能種植,故這裡應輸出 0

你的程式會輸出 1

感謝大神

AC了

 
ZeroJudge Forum