#25129: TLE 最後一個測資(求高手解~)


71087@stu.cchs.chc.edu.tw (~ pythOnia ChallengeR ~)


def judge(center,target):

    if (center[0] or center[1])<=0 or (target[0] or target[1])<=0:

        return 0

    elif abs(center[0]-target[0])>abs(center[1]-target[1]):

        return abs(center[0]-target[0])+1

    elif abs(center[0]-target[0])<abs(center[1]-target[1]):

        return abs(center[1]-target[1])+1

    elif abs(center[0]-target[0])==abs(center[1]-target[1]):

        return abs(center[1]-target[1])+1

 

n=int(input())

center=(n,n)

total=0

a,b,c,d=map(int,input().split())

for rn in range(a if a<c else c,c+1 if a<c else a+1):

    for rn_ in range(b if b<d else d,d+1 if b<d else b+1):

        total+=judge(center,(rn,rn_))

print(total)

請問有甚麼思路或動態規劃能夠參考嗎?

#25133: Re:TLE 最後一個測資(求高手解~)


asnewchien@gmail.com (david)


這題數學解,迴圈不會過。

#25140: Re:TLE 最後一個測資(求高手解~)


71087@stu.cchs.chc.edu.tw (~ pythOnia ChallengeR ~)


這題數學解,迴圈不會過。


謝謝~小的不才,能請問可能牽涉到甚麼觀念呢?

應該不會是直線方程式巴...

#25156: Re:TLE 最後一個測資(求高手解~)


asnewchien@gmail.com (david)


可先練習 f776

#25157: Re:TLE 最後一個測資(求高手解~)


71087@stu.cchs.chc.edu.tw (~ pythOnia ChallengeR ~)


可先練習 f776


好新的題目,甘溫