import sys
input=sys.stdin.readline

def solve():
    n=int(input())
    h=[0]*8
    for _ in range(n):
        a,b=map(int,input().split())
        b-=1
        if a==0:
            #b b+1
            n=max(h[b],h[b+1])
            h[b]=n+3
            h[b+1]=n+1
        if a==90:
            #b b+1 b+2
            n=max(h[b]+1,h[b+1],h[b+2])+1
            h[b]=n
            h[b+1]=n
            h[b+2]=n
        if a==180:
            #b b+1
            n=max(h[b],h[b+1]+2)+1
            h[b]=n
            h[b+1]=n
        if a==270:
            #b b+1 b+2
            n=max(h[b],h[b+1],h[b+2])
            h[b]=n+1
            h[b+1]=n+1
            h[b+2]=n+2
    print(*h)
solve()

模拟题

需要注意的是下面突出来的需要在突出来的的地方加上突出长度

n=max(h[b],h[b+1]+2)+1