您的位置:首页 > 编程语言 > Go语言

codeforces 559A A. Gerald's Hexagon(几何题)

2015-08-02 12:35 337 查看

题目链接:

codeforces 559A

题目大意:

给出一个六边形,问它能分成几个边长为1的等边三角形

题目分析:

因为给出的六边形的每个角都是120。120^。,所以如果把每个角延伸出去,那么能够得到一个等边三角形,而且延展出的三个部分都是等边三角形。

我们利用等差数列得到一个等边三角形能够拆出l2l^2个边长为1的等边三角形。

-所以我们得到公式ans=(a0+a1+a2)2−a20−a22−a24 ans = (a_0+a_1+a_2)^2 - a_0^2 - a_2^2 - a_4^2

AC代码:

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>

using namespace std;

int a[7];

int squre ( int x )
{
    return x*x;
}

int main ( )
{
    for ( int i = 0 ; i < 6 ; i++ )
        scanf ( "%d" , &a[i] );
    printf ( "%d\n" , squre ( a[0]+a[1]+a[2] ) - squre ( a[0] ) - squre ( a[2] ) - squre ( a[4] ) );
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: