题目链接
题意:
有一个六边形,给你6条边的长度(顺时针给出),每条边都是整数,问你它可以被分割成几个单位长度的正三角形 (题目保证给出的数据可以被分割) 思路: 六边形可以被分割成两种情况: ①被分成上下两个等腰梯形
②被分成等腰梯形-平行四边形-等腰梯形
其实这两种可以统为一种,因为当第二种平行四边形的一对平行边长为0的时间就变成了第一种。 给这六条边标号
六边形旋转到某个状态的时候, 一定会形成等腰梯形-平行四边形-等腰梯形的状态(或只有两个等腰梯形) 上下两个梯形的腰分别是 min(a2, a6), min(a3, a5) 平行四边形的一对平行边长为 abs(a2-a6) 将这三块面积加起来就可以了 所以我们只要去寻找a1这条边(for i = 1 ~3),使得 a2 + a6 == a3 + a5 即可 代码如下:
#include
#include
#include
#include
#include
?
?