pre,n=map(str,input().split())
node={}
num=[]
keep=[]
dell=[]
n=int(n)
for i in range(n):
s=list(map(str,input().split()))
node[s[0]]=(s[1],s[2])
while(pre!='-1'):
a=abs(int(node[pre][0]))
if a not in num:
num.append(a)
keep.append(pre)
pre=node[pre][1]
else:
dell.append(pre)
pre=node[pre][1]
r=len(keep)
for i in range(r-1):
print("%s %s "%(keep[i],node[keep[i]][0]),end="")
print("%s"%(keep[i+1]))
print("%s %s -1"%(keep[r-1],node[keep[r-1]][0]))
r=len(dell)
if r >0:
for i in range(r-1):
print("%s %s "%(dell[i],node[dell[i]][0]),end="")
print("%s"%(dell[i+1]))
print("%s %s -1"%(dell[r-1],node[dell[r-1]][0]))

想不出来了呜呜
本文介绍了一种算法,用于在给定节点的条件下追踪路径并在遇到预设条件时进行调整。通过示例展示了如何利用输入的n个节点和边的关系,处理从起点到终点的路径查找,并处理删除和保留节点的操作。





