A. Gerald's Hexagon
time limit per test

2 seconds

memory limit per test

256 megabytes

input

standard input

output

standard output

Gerald got a very curious hexagon for his birthday. The boy found out that all the angles of the hexagon are equal to .
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.

题目大意:给出一个等角六边形的六条边长(都为整数厘米),按与边平行划线,问最多会分成多少个边长为1的小三角形

六边形的所有都被分为了小三角形,所以用六边形的面积/三角形的面积就是三角形的数量

六边形的面积:设六条边长为a[1]到a[6]

等角六边形的对边平行,连接两个对边的定点,就得到一个梯形和两个三角形。梯形的上底是a[4],下底是a[1]。高由划红线的地方算出a[3]*sin(PI/3.0)+a[2]*sin(PI/3.0),这样就能够算出梯形的面积,其余的两个三角形的面积为a[2]*a[3]*sin(PI/3.0)/2。 a[5]*a[6]*sin(PI/3.0)/2

小三角形的面积:1*1*sin(PI/3.0)/2.0 ;

#include <cstdio>
#include <cstring>
#include <vector>
#include <queue>
#include <cmath>
#include <algorithm>
using namespace std ;
#define LL __int64
#define INF 0x3f3f3f3f
#define PI acos(-1.0)
double a[7] ;
int main() {
int i ;
double l , s ;
for(i = 1 ; i <= 6 ; i++)
scanf("%lf", &a[i]) ;
s = (a[1]+a[4])*(a[2]+a[3]) + a[2]*a[3]+ a[5]*a[6];
printf("%d\n", (int)(s+0.5)) ;
return 0 ;
}

最新文章

  1. NGUI 3.x 练习
  2. echart 图表 在.net中生成图片的方法
  3. emWin显示文本字符-【worldsing笔记】
  4. mac上eclipse上运行word count
  5. c#基础语言编程-编码
  6. kafka中对一个topic增加replicas
  7. Installshield在安装结束时刷新系统
  8. malloc函数及用法
  9. 查询linux机器的公网ip
  10. 一分钟告诉你究竟DevOps是什么鬼?
  11. 神奇的选择器 :focus-within
  12. windows 比较文件命令--fc
  13. Linux设置SSH登录(SecureCrt)
  14. js对数组中的数字排序
  15. leetcode-algorithms-24 Swap Nodes in Pairs
  16. Windows核心编程:第13章 内存体系结构
  17. Jenkins部署在Tomcat容器提示:反向代理设置有误
  18. django之创建第12个项目-加载图片
  19. #001 Emmet的API图片
  20. bzoj1621 / P2907 [USACO08OPEN]农场周围的道路Roads Around The Farm

热门文章

  1. 重写Android相机适配不同的设备,对于相机旋转角度问题解决方案
  2. 解决IE浏览器中出现“Resource interpreted as Document but transferred with MIME type application/json”问题
  3. 【bzoj1565】[NOI2009]植物大战僵尸 拓扑排序+最大权闭合图
  4. Python列表及元组操作
  5. .ini配置CAN信息
  6. mysql server5.7 找不到my.ini,只有my-default.ini【mysql全局配置文件】
  7. 杭电oj2032、2040、2042、2054、2055
  8. AUTOIT3设置用户包含目录
  9. Spring整合Disruptor3
  10. CDH-5.7.0:基于Parcels方式离线安装配置