Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Uncategorized category for The Rows of Cakes by TovarischZhukov
def checkio(data):
retval=set()
for i,val1 in enumerate(data):
for val2 in data[i+1:]:
if val1[0]==val2[0]: expr="el[0]==val1[0]"
elif val1[1]==val2[1]: expr="el[1]==val1[1]"
else:
b=(val1[1]*val2[0]-val2[1]*val1[0])/float(val2[0]-val1[0])
a=(val2[1]-b)/float(val2[0]) if val2[0] else 0
expr="a*el[0]+b==el[1]"
tmp=[]
for el in data:
if eval(expr): tmp.append(tuple(el))
if len(tmp)>2: retval.add(tuple(sorted(tmp)))
return len(retval)
Feb. 4, 2016