FZU 2140 Forever 0.5 (几何_思维)
2016-04-16 11:50
495 查看
题意 :给你一个数n,让你找出n个点,满足一下关系:
任意两点的距离不大于1.0
所有点到原点的距离不大于1.0
恰好有N对点的距离为1.0
由这些点构成的n边形的面积不小于0.5
由这些点构成的n边形的面积不大于0.75
思路,所以的点到原点的距离不大于1,很显然我们会联想到单位圆,有N对点的距离为1,那么就先让一个点在圆上,其余的点在圆上即可,一个单位圆的面积为3.14,
所求的几何面积要在0.75——0.5直接,大概为1/4的圆。。。。再根据样例,那么答案就很明显了
任意两点的距离不大于1.0
所有点到原点的距离不大于1.0
恰好有N对点的距离为1.0
由这些点构成的n边形的面积不小于0.5
由这些点构成的n边形的面积不大于0.75
思路,所以的点到原点的距离不大于1,很显然我们会联想到单位圆,有N对点的距离为1,那么就先让一个点在圆上,其余的点在圆上即可,一个单位圆的面积为3.14,
所求的几何面积要在0.75——0.5直接,大概为1/4的圆。。。。再根据样例,那么答案就很明显了
#include<cstdio> #include<queue> #include<cstring> #include<math.h> #include<algorithm> using namespace std; const int maxn = 35; int T, n; int main() { scanf("%d", &T); for (int cas = 1; cas <= T; cas++) { scanf("%d", &n); if (n <= 3) printf("No\n"); else { printf("Yes\n"); printf("%.6lf %.6lf\n", 0.0, 0.0); printf("%.6lf %.6lf\n", -0.5, sqrt(3.0) / 2); printf("%.6lf %.6lf\n", 0.5, sqrt(3.0) / 2); for (int i = 4; i <= n; i++) { printf("%.6lf %.6lf\n", 0.0, 1.0); } } } return 0; }
相关文章推荐
- openstack中region、az、host aggregate、cell 概念
- 计算机组成简介
- ios多线程操作(三)—— 线程通讯
- Code Forces 644B Processing Queries
- Struts2 入门学习笔记(四)——输入校验
- Light OJ 1302 Independent Attacking Zones(分治或DP)
- ios多线程操作(二)—— NSThread的应用
- LeetCode——023
- 获取AppStore,APP信息
- JavaWeb系列之八(Cookie&Session)
- [HDOJ1160]FatMouse's Speed(DP)
- tango with django ch7 MTV
- Glide框架实现图片加载和视频播放总结
- JavaScript模拟百度分页
- 复杂链表的复制
- Android For JNI(三)——C的指针,指针变量,指针常见错误,值传递,引用传递,返回多个值
- @protocol和category中如何使用@property?
- linux/ALSA SRC重采样造成的问题及解决
- Android For JNI(三)——C的指针,指针变量,指针常见错误,值传递,引用传递,返回多个值
- HDU 2083