# DFS N=9 G=Array.new N.times{|j| G[j]=Array.new } G[0]<<1<<2 G[1]<<0<<2<<6 G[2]<<0<<1<<3<<4 G[3]<<2<<4 G[4]<<2<<3<<5 G[5]<<4 G[6]<<1 G[7]<<8 G[8]<<7 #V is the visited array V=Array.new N.times{|j|V[j]=false} def dfs(i) V[i]=true G[i].length.times{|k| if not (V[G[i][k]]) print G[i][k] dfs(G[i][k]) end } end if (ARGV.length == 1) p = Integer(ARGV[0]) end print("The nodes reachable from #{p} are ") dfs(p) print("\n")