E - Gerald's Hexagon
Time Limit:2000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u
Submit
Status
Practice
CodeForces 559A
Description
Gerald got a very curious hexagon for his birthday. The boy found out that all the angles of the hexagon are equal to E <wbr>- <wbr>Gerald's <wbr>Hexagon. Then he measured the length of its sides, and found that each of them is equal to an integer number of centimeters. There the properties of the hexagon ended and Gerald decided to draw on it.
He painted a few lines, parallel to the sides of the hexagon. The lines split the hexagon into regular triangles with sides of 1 centimeter. Now Gerald wonders how many triangles he has got. But there were so many of them that Gerald lost the track of his counting. Help the boy count the triangles.
Input
The first and the single line of the input contains 6 space-separated integers a1, a2, a3, a4, a5 and a6 (1 ≤ ai ≤ 1000) — the lengths of the sides of the hexagons in centimeters in the clockwise order. It is guaranteed that the hexagon with the indicated properties and the exactly such sides exists.
Output
Print a single integer — the number of triangles with the sides of one 1 centimeter, into which the hexagon is split.
Sample Input
Input
1 1 1 1 1 1
Output
6
Input
1 2 1 2 1 2
Output
13
Hint
This is what Gerald's hexagon looks like in the first sample:
E <wbr>- <wbr>Gerald's <wbr>Hexagon
And that's what it looks like in the second sample:
E <wbr>- <wbr>Gerald's <wbr>Hexagon
这个题很有深度,,(当然是对我来说的啦E <wbr>- <wbr>Gerald's <wbr>Hexagon),首先要读懂题,真的E <wbr>- <wbr>Gerald's <wbr>Hexagon,
大体的意思是:
给你一个六边形,当然是按照边与边的顺序啦!然后你就要找这个六边形内部可以划分为几个小的边长为1的等边三角形,,如图啦
那么我们就要想啦!!有什么方法
那么我们用我想的方法把六边形想成被一个大的等边三角形包围中
#include
#include
#include
int main()
{
long long a[10];
int i;
long long sum = 0;
for(i = 0;i < 6;i++)
{
scanf("%lld", &a[i]);
}
for(i = 0;i < 3;i++)
{
sum += a[i];
}
sum *= sum;
sum = sum- a[0]*a[0]-a[2]*a[2]-a[4]*a[4];
printf("%lld\n", sum);
return 0;
Time Limit:2000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u
Submit
Status
Practice
CodeForces 559A
Description
Gerald got a very curious hexagon for his birthday. The boy found out that all the angles of the hexagon are equal to E <wbr>- <wbr>Gerald's <wbr>Hexagon. Then he measured the length of its sides, and found that each of them is equal to an integer number of centimeters. There the properties of the hexagon ended and Gerald decided to draw on it.
He painted a few lines, parallel to the sides of the hexagon. The lines split the hexagon into regular triangles with sides of 1 centimeter. Now Gerald wonders how many triangles he has got. But there were so many of them that Gerald lost the track of his counting. Help the boy count the triangles.
Input
The first and the single line of the input contains 6 space-separated integers a1, a2, a3, a4, a5 and a6 (1 ≤ ai ≤ 1000) — the lengths of the sides of the hexagons in centimeters in the clockwise order. It is guaranteed that the hexagon with the indicated properties and the exactly such sides exists.
Output
Print a single integer — the number of triangles with the sides of one 1 centimeter, into which the hexagon is split.
Sample Input
Input
1 1 1 1 1 1
Output
6
Input
1 2 1 2 1 2
Output
13
Hint
This is what Gerald's hexagon looks like in the first sample:
E <wbr>- <wbr>Gerald's <wbr>Hexagon
And that's what it looks like in the second sample:
E <wbr>- <wbr>Gerald's <wbr>Hexagon
这个题很有深度,,(当然是对我来说的啦E <wbr>- <wbr>Gerald's <wbr>Hexagon),首先要读懂题,真的E <wbr>- <wbr>Gerald's <wbr>Hexagon,
大体的意思是:
给你一个六边形,当然是按照边与边的顺序啦!然后你就要找这个六边形内部可以划分为几个小的边长为1的等边三角形,,如图啦
那么我们就要想啦!!有什么方法
那么我们用我想的方法把六边形想成被一个大的等边三角形包围中
#include
#include
#include
int main()
{
long long a[10];
int i;
long long sum = 0;
for(i = 0;i < 6;i++)
{
scanf("%lld", &a[i]);
}
for(i = 0;i < 3;i++)
{
sum += a[i];
}
sum *= sum;
sum = sum- a[0]*a[0]-a[2]*a[2]-a[4]*a[4];
printf("%lld\n", sum);
return 0;
}
代码菜鸟,如有错误,请多包涵!!