>

Triangles Enumeration & Counting: Discussion of all Solutions

Most of winners provided the right counting formula with a reference. Only Julio di Egidio provided a proof based on the technique to add a new row to an (n-1)-triangle. 

Only Marcin Rosiak and Anthony Terra used vertex pointers to enumerate. However, since Marcin Rosiak algorithm comes from a modification of the math stepping algorithm in attempt to tokenize triangle vertices it is not optimized (it uses math indices to step along half lines without storing pointer current positions, so  pointer chains are re-computed in each step).

Anthony Terra, instead, loops on elementary triangles that he uses as basic data structure, instead of vertices. The resulting algorithm while substantially efficient, is more complex than the  vertex based version.

Julio di Egidio and Eduardo Capparelli used a purely linear math approch to enumerate all triangles. Julio di Egidio implemeted general  abstract classes, while Eduardo Capparelli focused in the implementation of a graphic interface able to actually draw the triangles. 

The detail of all solutions are available through links in the Hall of Fame.