UVa12326 Yummy Triangular Pizza(dfs)

问题:用n个等边三角形可以拼成多少种不同样式的形状。等边三角形之间共用一条边。旋转或者平移后重合视为一种。

思路:关键是要唯一确定等边三角形,基于此建立特殊的坐标系。正立三角形x+y+z=0,倒立三角形x+y+z不等于0

以正立三角形(0,0,0)开始来添加三角形,在添加三角形后,将其转换为原点位置后,旋转看是否重复。

使用深度优先搜索算法会超时,先使用深度优先搜索计算1-16的解,然后建表

具体代码参考:

https://github.com/wuli2496/OJ/tree/master/UVa/12326%20Yummy%20Triangular%20Pizza

 

你可能感兴趣的:(训练指南,算法设计与分析,OJ)