#33274: Python TLE求解、建議 (已使用DFS + 提早輸出)


aazz1014 (又...又...又在炸魚)

學校 : 國立中正大學
編號 : 217788
來源 : [59.127.241.47]
最後登入時間 :
2024-05-19 20:46:26
a229. 括號匹配問題 -- 名題精選百則 | From: [101.9.99.178] | 發表日期 : 2022-12-19 12:21

#a229 TLE
 
def DFS(left, right, road):
    if left != 0 or right!= 0:
        if left > right:
            return
        if left + right == 4:
            if left == 0:
                print("".join(road) + "))))")
                return
            if left == 1:
                print("".join(road) + "()))")
                print("".join(road) + ")())")
                print("".join(road) + "))()")
                return
            if left == 2:
                print("".join(road) + "(())")
                print("".join(road) + "()()")
                return
        if left> 0:
            road.append("(")
            DFS(left-1, right , road)
            road.pop()
        if right>0:
            road.append(")")
            DFS(left, right-1 , road)
            road.pop()
        return
    else:
        print("".join(road))
        return
   
       
for line in __import__("sys").stdin:
    road = ["("]
    DFS(int(line)-1 , int(line) , road)
    print(" ")
 
ZeroJudge Forum