Find out my number neighbors
Python 2, 152 bytes



l=input()
def f(x,y,n):
 if m[x][y]&lt;n:m[x][y]=n;[f(i%3-1+x,i/3-1+y,h)for h,i in zip(l[n-1],[3,7,5,1])]
e=len(l)
m=eval(`[[0]*e*2]*e*2`)
f(e,e,1)
print m


Try it online!

The input order is NESW
f is a recursive function to populate the houses