CodeForces#313 C. Gerald's Hexagon

题目大意:

已知六边形的六条边长,求由多少个单位三等边角形拼成。边长按顺时针顺序给出,以单位三角形边长为单位。


解题思路:

取不相邻的三条边以边长向外即可扩展成一个大等边三角形,因为边长为n的大三角形由n*n个小单位角形拼成,更容易计算。,再减去补上的三角形面积。


#include <cstdio>
#include <iostream>
#include <cstring>
#include <string>
#include <cmath>
#include <algorithm>
#include <stack>
#include <vector>
#include <map>
#include <set>
using namespace std;

int a, b, c, d, e, f;

int main()
{
    while(scanf("%d%d%d%d%d%d", &a, &b, &c, &d, &e, &f) != EOF)
        printf("%d\n", (a + b + c)*(a + b + c) - (a*a + c*c + e*e));
    return 0;
}


你可能感兴趣的:(CodeForces#313 C. Gerald's Hexagon)