计蒜客 腾讯手机地图(模拟 数学)
来源:互联网 发布:贵州广电网络高清收费 编辑:程序博客网 时间:2024/05/17 07:03
腾讯手机地图
腾讯手机地图的定位功能用到了用户手机的多种信号,这其中有的信号的作用范围近,有的信号作用的范围则远一些。有的信号相对于用户在不同的方位强度是不同的,有的则是在任何一个方向上信号强度都一致的。
已知用户面向北方拿着自己的手机,在不同方位的各种信号覆盖区域可以被抽象成以用户为圆心的一系列扇形。已知每个扇形的半径 r,和每个扇形的两条边相对于正东方向的夹角度数。每个信号覆盖区域抽象出的扇形都可以通过从第一条边逆时针旋转到第二条边画出。
请计算一下,用户手机所有信号覆盖到的区域的总面积。
输入格式
第一行输入一个整数 T (1 ≤ T ≤ 20),表示数据组数。
接下来一共 T 组数据,每组数据第一行输入一个整数 n (1 ≤ n ≤ 104),表示各种信号可以抽象出的不同扇形的总个数。接下来输入 n 行,每行 3 个整数表示扇形半径 r (0 ≤ r ≤ 105)、扇形第一条边与正东方向的夹角 α、扇形第二条边与正东方向的夹角 β (-90 ≤ α ≤ β < 270)。
输出格式
输出 T 行,每行一个非负浮点数,表示用户手机所有信号覆盖到的区域的范围的总面积。
每组输出与标准答案绝对误差在 10-3 内均认为是正确的。
输入:
142 -30 323 20 813 121 1602 141 201
输出:
11.030
AC代码:
#include <bits/stdc++.h>using namespace std;const int N = 10005;const double pi = acos(-1.0);struct node{ double r; int a,b;}no[N];double maxr[N];int main(){ int T; scanf("%d",&T); while(T--){ int n; scanf("%d",&n); for(int i = 0; i < n; ++i) scanf("%lf%d%d",&no[i].r,&no[i].a,&no[i].b); memset(maxr,0,sizeof(maxr)); for(int i = 0; i < n; ++i){ for(int j = no[i].a; j < no[i].b; ++j) maxr[j+90] = max(maxr[j+90],no[i].r); } double s = 0; for(int i = 0; i < 360; ++i){ s += maxr[i]*maxr[i]; } printf("%.3lf\n",s/360*pi); } return 0;}
0 0
- 计蒜客 腾讯手机地图(模拟 数学)
- 计蒜客 腾讯手机地图
- 计蒜客 429(腾讯手机地图-pi的精确值)
- 计蒜客 初赛 第三场 A题:腾讯手机地图
- iOS 跳转到地图后导航(高德地图,百度地图,腾讯地图,苹果手机原生的地图)
- 地图模拟
- 手机地图
- 手机地图
- 计蒜之道 初赛 第三场--腾讯手机地图 题解
- android跳转手机百度高德腾讯谷歌地图、地图传坐标、坐标偏移、base64解码相关
- 大赞腾讯地图
- 腾讯地图实习面试
- 腾讯地图定位demo
- 腾讯地图标注公司
- 腾讯地图获取距离
- 本地调用腾讯地图
- Balls Rearrangement(hdu4611,模拟+数学)
- nyoj 弹球II(数学 模拟)
- 光标快捷键组合(备用)
- redis在centOS系统上的集群搭建
- 100万并发连接服务器笔记之1M并发连接目标达成
- app_downloadfile:transformResourcesWithMergeJavaResForDebug
- 英语学习(一)
- 计蒜客 腾讯手机地图(模拟 数学)
- The reference to entity "characterEncoding" must end with the ';' delimiter
- 跳表原理
- RESTful API 设计指南
- 【Android问题】解决 Android SDK下载和更新失败“Connection to https://dl-ssl.google.com refused”的问题
- 常用adb命令
- Android EditText图文混排的总结
- Scrum 之 团队
- Android内存泄露