Problem 2099 魔法阵

Accept: 120    Submit: 289

Time Limit: 1000 mSec    Memory Limit : 32768 KB

 Problem Description

两个正三角形和一个圆组成一个魔法阵,如图,圆心和正三角形内心重合,三角形的重叠部分是一个正六边形。求魔法阵轮廓围成的面积。

 Input

第一行一个整数T表示数据组数(T<=1000)。接下来T行每行2个实数,正三角形边长L和圆的半径R(0<L,R<1000)。

 Output

对于每组数据输出一个实数,魔法阵轮廓围成的面积,保留2位小数。

 Sample Input

4493.5 176.4741.7 374.0100.0 1.01.0 100.0

 Sample Output

141994.02449787.965773.5031415.93

计算几何

#include <iostream>
#include <string.h>
#include <stdlib.h>
#include <algorithm>
#include <math.h>
#include <stdio.h> using namespace std;
double l,r;
double ans;
double pi=2*asin(1.0);
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
scanf("%lf%lf",&l,&r);
if(r>=l/sqrt(3.0))
ans=pi*r*r;
else if(r<=l/3.0)
ans=sqrt(3.0)/3.0*l*l;
else
{
double date=16*r*r-4.0/3.0*l*l;
double x=(2*l-sqrt(date))/8;
double s2=2*x*(l/sqrt(3.0))*1.0/2;
double s3=pi*r*r*asin(x/r)/pi;
double s4=s2-s3;
ans=pi*r*r+s4*6;
}
printf("%.2f\n",ans);
}
return 0;
}

最新文章

  1. 2015 Autodesk 开发者日( DevDays)和 助力开发周火热报名中
  2. 转: Eclipse 分屏显示同一个文件
  3. linux 软件安装各种方法
  4. cursor:hand与cursor:pointer的区别介绍
  5. Linux + C + Epoll实现高并发服务器(线程池 + 数据库连接池)(转)
  6. windows7环境下 硬盘安装ubuntu 12.04 server版
  7. PRINCE2考试一共多少道题
  8. tcp拥塞控制 tahoe reno new reno sack
  9. 【python接口自动化-requests库】【二】requests库简单使用(入门)
  10. 深入浅出——float
  11. Qt编写echart仪表盘JS交互程序支持webkit和webengine(开源)
  12. GIAC2018全球互联网架构大会深圳站盛况回顾,定格精彩瞬间!
  13. 第8月第15天 app支持后台播放
  14. CentOS6.X关闭防火墙
  15. Ubuntu无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)
  16. jmeter 函数助手
  17. 【Thrift一】Thrift安装部署
  18. inflate
  19. 斯特林数(Stirling number)
  20. Tedis:淘宝的Redis的Java客户端开发包

热门文章

  1. spring--百度百科
  2. springmvc+fastjson enum(枚举)支持属性get转json
  3. ant-design table 分页(tableProps)
  4. JAVA的IO流:打印流
  5. 通过浏览器查看nginx服务器状态配置方法
  6. iOS活体人脸识别的Demo和一些思路
  7. lucene 转义含有查询关键词的字符的
  8. 【MyBatis】MyBatis分页插件PageHelper的使用
  9. CKEditor的安装与基本使用(JSP)
  10. JSONP(转)