#38072: python 紀錄


BensonDC (python戰士)

學校 : 不指定學校
編號 : 240921
來源 : [1.175.217.87]
最後登入時間 :
2024-03-27 12:33:26
f637. DF-expression -- APCS201810程式實作題3 | From: [1.175.194.6] | 發表日期 : 2023-10-23 23:23

"""

由於每格只會著色一次,所以只須紀錄塗色部分,不用模擬打印整張表
邊界條件,初始化idx為-1

"""

def dfs(n,x,y):
    global idx,res
    if idx>=lenL:
        return
    idx+=1
    if L[idx]=='1':
        for i in range(x,x+n):
            for j in range(y,y+n):
                res+=1
    elif L[idx]=='2':
        nn=n//2
        dfs(nn,x,y)
        dfs(nn,x,y+nn)
        dfs(nn,x+nn,y)
        dfs(nn,x+nn,y+nn)
    return
L=input()
lenL=len(L)
n=int(input())
idx=-1
res=0
dfs(n,0,0)

print(res)

 
#38073: Re: python 紀錄


BensonDC (python戰士)

學校 : 不指定學校
編號 : 240921
來源 : [1.175.217.87]
最後登入時間 :
2024-03-27 12:33:26
f637. DF-expression -- APCS201810程式實作題3 | From: [1.175.194.6] | 發表日期 : 2023-10-23 23:30

def dfs(n):
    global idx,res
    if idx>=lenL:
        return
    idx+=1
    if L[idx]=='1':
        res+=n*n
    elif L[idx]=='2':
        for _ in range(4):
            dfs(n//2)
    return
L=input()
lenL=len(L)
n=int(input())
idx=-1
res=0
dfs(n)

print(res)

 
ZeroJudge Forum