Codeforces Round #313 (Div. 2) C
題目鏈接
題意:
有一個六邊形,給你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