我有三角形的问题。
我有 6 个三角形,例如:
每个三角形的每一边都有一个值。问题是我可以移动三角形并且可以旋转它们。我必须像这样创建一个六边形:
我必须添加三角形的外侧并获得最高分。在此示例中为 152。
并且内侧必须相等
,例如 3 与 3、2 与 2、5 与 5、7 与 4 与 4 以及 1 与 1。
我在 C++ 中这样做。
我将每个三角形保存在一个数组中。
int triangle[6][3];
for(int i=0;i<6;i++)
cin>>triangle[i][0]>>triangle[i][1]>>triangle[i][2];
我打算将数组的最后一个元素与其他元素进行比较,但它不起作用。
谁能给我一个想法来解决这个问题?因为我不知道如何为三角形生成所有可能的组合来创建六边形,以及其他时间不在同一个数组中搜索的方法,以及如何添加才能获得分数。
可能存在无法形成六边形的情况。
最后一个元素可能是我无法形成三角形,那么我需要旋转三角形来形成六边形。