python求助,第三个点TLE差0.06s,还有可以优化的点吗
查看原帖
python求助,第三个点TLE差0.06s,还有可以优化的点吗
1042642
yiuyiuo楼主2023/8/16 18:07
class LinkNode():
    def __init__(self, data=None):
        self.data = data
        self.next = None
        self.prior = None
        self.sign = True

n = eval(input())
node = [None] * (n+1)
node[0] = LinkNode()
node[1] = LinkNode(1)
node[0].next = node[1]
node[1].prior = node[0]

for i in range(2,n+1):
    k, p = input().split()
    k = int(k)
    p = int(p)
    node[i] = LinkNode(i)
    if p == 0:
        node[i].next = node[k]
        node[i].prior = node[k].prior
        if node[k].prior is not None:
            node[k].prior.next = node[i]
        node[k].prior = node[i]
    else:
        node[i].prior = node[k]
        node[i].next = node[k].next
        if node[k].next is not None:
            node[k].next.prior = node[i]
        node[k].next = node[i]
else:
    m = eval(input())

    for i in range(m):
        x = eval(input())
        node[x].sign = False

    p = node[0].next
    while p is not None:
        print(p.data, end=" ") if p.sign else None
        p = p.next

2023/8/16 18:07
加载中...