-3

n = int(input())
tree = [ [0]*9 for i in range(n) ]
for i in range(n):
    a = list(map(int, input().split()))
    if a[1] != -1:
        tree[a[0]][a[1]] = 1
    if a[2] != -1:
        tree[a[0]][a[2]] = 1

def dfs_1(x, l):
    l.append(x)
    r=0
    for i in range(n):
        if tree[x][i]==1:
            r+=1
            dfs(i, l.copy())
    if r==0:
        ans.append(l)

def dfs_2(x, l=[]):
    l.append(x)
    r=0
    for i in range(n):
        if tree[x][i]==1:
            r+=1
            dfs(i, l.copy())
    if r==0:
        ans.append(l)

for i in range(n):
    ans = []
    dfs_1(i,[])
    print(ans)

    ans = []
    dfs_2(i)
    print(ans)

9

0 1 4

1 2 3

2 -1 -1

3 -1 -1

4 5 8

5 6 7

6 -1 -1

7 -1 -1

8 -1 -1

my input /\

dfs_1 print(ans)

enter image description here

dfs_2 print(ans)

enter image description here

this is a tree use DFS run.

when i use dfs_1 , i am terminal print data and dfs_2 print data is different

so

WHY??

willy
  • 1

0 Answers0