计蒜客 429(腾讯手机地图-pi的精确值)
腾讯手机地图的定位功能用到了用户手机的多种信号。这当中有的信号的作用范围近。有的信号作用的范围则远一些。有的信号相对于用户在不同的方位强度是不同的。有的则是在不论什么一个方向上信号强度都一致的。
已知用户面向北方拿着自己的手机,在不同方位的各种信号覆盖区域能够被抽象成以用户为圆心的一系列扇形。已知每一个扇形的半径 r,和每一个扇形的两条边相对于正东方向的夹角度数。
每一个信号覆盖区域抽象出的扇形都能够通过从第一条边逆时针旋转到第二条边画出。
输入格式
请计算一下,用户手机全部信号覆盖到的区域的总面积。
第一行输入一个整数 T (1 ≤ T ≤ 20),表示数据组数。
接下来一共 T 组数据,每组数据第一行输入一个整数 n (1 ≤ n ≤ 104),表示各种信号能够抽象出的不同扇形的总个数。接下来输入 n 行,每行 3 个整数表示扇形半径 r (1 ≤ r ≤ 105)、扇形第一条边与正东方向的夹角
α、扇形第二条边与正东方向的夹角 β (-90 ≤ α ≤ β < 270)。
输出格式
输出 T 行,每行一个非负浮点数。表示用户手机全部信号覆盖到的区域的范围的总面积。
每组输出与标准答案绝对误差在 10-3 内均觉得是正确的。
例子1
输入:
1
4
2 -30 32
3 20 81
3 121 160
2 141 201
输出:
11.030
这题极端情况 pi*10^10 保留3位小数
所以 精度非常重要 pi的精度
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<algorithm>
#include<functional>
#include<iostream>
#include<cmath>
#include<cctype>
#include<ctime>
#include<iomanip>
using namespace std;
#define For(i,n) for(int i=1;i<=n;i++)
#define Fork(i,k,n) for(int i=k;i<=n;i++)
#define Rep(i,n) for(int i=0;i<n;i++)
#define ForD(i,n) for(int i=n;i;i--)
#define RepD(i,n) for(int i=n;i>=0;i--)
#define Forp(x) for(int p=pre[x];p;p=next[p])
#define Forpiter(x) for(int &p=iter[x];p;p=next[p])
#define Lson (x<<1)
#define Rson ((x<<1)+1)
#define MEM(a) memset(a,0,sizeof(a));
#define MEMI(a) memset(a,127,sizeof(a));
#define MEMi(a) memset(a,128,sizeof(a));
#define INF (2139062143)
#define F (100000007)
#define MAXN (100000+10)
#define eps (1e-6)
typedef long long ll;
ll mul(ll a,ll b){return (a*b)%F;}
ll add(ll a,ll b){return (a+b)%F;}
ll sub(ll a,ll b){return (a-b+(a-b)/F*F+F)%F;}
void upd(ll &a,ll b){a=(a%F+b%F)%F;}
int n;
struct seg
{
int a,b,r;
}a[MAXN];
ll maxr[5000]={0};
int main()
{
freopen("A.in","r",stdin);
// freopen(".out","w",stdout);
int T;
cin>>T;
cout.setf(ios::fixed);
cout.precision(3); while(T--)
{
cin>>n;
For(i,n) scanf("%d%d%d",&a[i].r,&a[i].a,&a[i].b); MEM(maxr)
For(i,n)
{
Fork(j,a[i].a,a[i].b-1)
maxr[j+90]=max(maxr[j+90],(ll)a[i].r);
} long double pi=3.141592653589793238462643383279,S=0;
Rep(i,361)
{
S+=maxr[i]*maxr[i];
}
cout<<S/(long double)360.000000000*pi<<endl; } return 0;
}
-
计蒜客 429(腾讯手机地图-pi的精确值)的更多相关文章
- 计蒜客 作弊揭发者(string的应用)
鉴于我市拥堵的交通状况,市政交管部门经过听证决定在道路两侧安置自动停车收费系统.当车辆驶入车位,系统会通过配有的摄像头拍摄车辆画面,通过识别车牌上的数字.字母序列识别车牌,通过连接车管所车辆信息数据库 ...
- 计蒜客的一道题dfs
这是我无聊时在计蒜客发现的一道题. 题意: 蒜头君有一天闲来无事和小萌一起玩游戏,游戏的内容是这样的:他们不知道从哪里找到了N根不同长度的木棍, 看谁能猜出这些木棍一共能拼出多少个不同的不等边三角形. ...
- 计蒜客模拟赛5 D2T1 成绩统计
又到了一年一度的新生入学季了,清华和北大的计算机系同学都参加了同一场开学考试(因为两校兄弟情谊深厚嘛,来一场联考还是很正常的). 不幸的是,正当老师要统计大家的成绩时,世界上的所有计算机全部瘫痪了. ...
- 计蒜客 等边三角形 dfs
题目: https://www.jisuanke.com/course/2291/182238 思路: 1.dfs(int a,int b,int c,int index)//a,b,c三条边的边长, ...
- 计蒜客 方程的解数 dfs
题目: https://www.jisuanke.com/course/2291/182237 思路: 来自:https://blog.csdn.net/qq_29980371/article/det ...
- 计蒜客 买书 dfs
题目: https://www.jisuanke.com/course/2291/182236 思路: 递归解决,从第一本书开始,每本书都有两种选择: //index是book里面每本书价格的下标, ...
- 计蒜客:Entertainment Box
Ada, Bertrand and Charles often argue over which TV shows to watch, and to avoid some of their fight ...
- 爬虫acm比赛成绩(多页成绩整合在一起、获取复制不了的数据)(hihocoder、计蒜客)
https://github.com/congmingyige/web-crawler_rank-of-competition-in-JiSuanKe-and-hihocoder 1. 计蒜客(获取复 ...
- 计蒜客 31436 - 提高水平 - [状压DP]
题目链接:https://nanti.jisuanke.com/t/31436 作为一名车手,为了提高自身的姿势水平,平时的练习是必不可少的.小 J 每天的训练包含 $N$ 个训练项目,他会按照某个顺 ...
随机推荐
- PostgreSQL创建只读用户
创建用户及指定密码: CREATE USER readonly WITH ENCRYPTED PASSWORD 'ropass'; 设置用户默认事务只读: alter user readonly se ...
- TIME定时器
一.定时器分类 STM32F1 系列中,除了互联型的产品,共有 8 个定时器,分为基本定时器,通用定时器和高级定时器.基本定时器 TIM6 和 TIM7 是一个 16 位的只能向上计数的定时器,只能定 ...
- CSU 1506 Double Shortest Paths
1506: Double Shortest Paths Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 49 Solved: 5 Description ...
- 华为:一张图看懂 HBase
来自为知笔记(Wiz)
- 找出BST里面与Target最接近的n个数
http://www.cnblogs.com/jcliBlogger/p/4771342.html 这里给了两种解法,一种是利用C++的priority_queue,然后逐个node输入. 另一种是先 ...
- hdu5336XYZ and Drops
题意:给出r*c的网格,有的网格为空.有的有水.再给出一个爆炸点,从这个点向四周爆出四个水滴,若碰到水则融为一体,若碰到其它水滴直接跑过去互不影响.每秒可跑一格,若水中水滴数量超过4则爆开.问T秒后网 ...
- 判断DataGridView滚动条是否滚动到当前已加载的数据行底部
private void dataGridView1_Scroll(object sender, ScrollEventArgs e) { if (e.ScrollOrientation == S ...
- vue --- cli build 后的项目,图片路径出错
今天在插入背景图片过程中,遇到了路径错误的问题,通过网上查询,找到了解决的办法,但是大部分都没有讲造成这种问题的原因,故我简单地总结了一下,并加入了一些自己的理解,欢迎共同探讨~ 当用vue-cli自 ...
- vSphere5安装配置视频教程
vSphere5安装配置视频教程 本文出自 "李晨光原创技术博客" 博客,请务必保留此出处http://chenguang.blog.51cto.com/350944/819550
- Gallery滑动一页(一个Item)效果
本文主要介绍如何使用Gallery只滑动一页以及其实现原理. Demo APK 可以方便的查看效果,在各大应用商店搜索 trinea android 下载即可,如:Google Play. 可运行代码 ...