Uva3708 (一点处理技巧)
来源:互联网 发布:数据管控流程 编辑:程序博客网 时间:2024/06/06 08:57
solution
把
一个结论,一定有一个点是不动的
证明:废话
那么,只要确定了一个点,剩下的点都确定了.
直接判断其离得最近的点的距离即可.
我要讲的是这里处理的技巧,这里处理很巧.
首先把周长为
10000 的圆看作周长为n+m 的圆.那么,我可以求出来原来
n 个点的对应位置,现在,我只要找到距离它最近的整数点即可.看如下代码:
#include <cstdio>#include <cmath>using namespace std;int main(){ int n,m; while (scanf("%d%d",&n,&m) == 2) { double ans = 0.0; for (int i = 1; i < n; i++){ double pos = (double) i / n * (n + m); //pos表示在n+m的线段上原来第i个点所对应的位置. ans += fabs(pos - floor(pos + 0.5)); //这里能保证不会去到同一个整数点,原因是floor表示取整,而原来两两点之间的距离一定大于1,如果加0.5后取整相同则表示两个数的差一定小于1,矛盾. } printf("%.4lf\n",ans / (n + m) *10000); }}
阅读全文
0 0
- Uva3708 (一点处理技巧)
- 一点技巧
- discuz 在处理全局变量上的一点安全技巧
- 关于SQLite3 Database is Locked 的一点处理技巧
- GridView一点技巧
- 日语输入法一点技巧
- 一点C++技巧
- ARCgis一点技巧
- grep一点小技巧
- weka的一点技巧
- CCLabelAtlas的一点技巧
- CCLabelAtlas的一点技巧
- UGUI处理ScrollRect的滑动被OnDrag函数拦截的一点技巧
- SHELL字符串处理技巧(${}、##、%%)
- SHELL字符串处理技巧(${}、##、%%)
- SHELL字符串处理技巧(${}、##、%%)
- SHELL字符串处理技巧(${}、##、%%)
- SHELL字符串处理技巧(${}、##、%%)
- 2017-11-27儿子的考题
- 初识java
- LeetCode——Path Sum III
- 类和对象
- 唯快不破:TCP/IP详解--五层协议的作用以及对应的设备
- Uva3708 (一点处理技巧)
- 51nod 1185 威佐夫游戏 V2
- Windows10下一次解决python3.6中文乱码问题
- Kmeans
- 【Scikit-Learn 中文文档】随机梯度下降
- python3学习-requests使用
- 面向对象-类和对象的创建
- JAVA | 28
- VMware虚拟机模拟Ubuntu无法上网的解决办法