Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Uncategorized category for One line Drawing by TovarischZhukov
def find(data,ln,c,p):
p.append(c)
if len(p)==ln: return p
for val in data:
if val[:2]==c:
n_data=data[:]
n_data.remove(val)
r=find(n_data,ln,val[2:],p[:])
if r:return r
break
elif val[2:]==c:
n_data=data[:]
n_data.remove(val)
r=find(n_data,ln,val[:2],p[:])
if r: return r
break
return []
def draw(segments):
ln=len(segments)+1
data=list(segments)
for val in data:
n_data=data[:]
n_data.remove(val)
r=find(n_data,ln,val[:2],[val[2:]])
if r:return tuple(r)
r=find(n_data,ln,val[2:],[val[:2]])
if r: return tuple(r)
return []
Feb. 8, 2016