Codeforces Round #320 (Div. 2) [Bayan Thanks-Round] C. A Problem about Polyline 精度控制
来源:互联网 发布:ubuntu输入法乱码 编辑:程序博客网 时间:2024/05/01 03:44
C. A Problem about Polyline
time limit per test
1 secondmemory limit per test
256 megabytesinput
standard inputoutput
standard outputThere is a polyline going through points (0, 0) – (x, x) – (2x, 0) – (3x, x) – (4x, 0) – ... - (2kx, 0) – (2kx + x, x) – ....
We know that the polyline passes through the point (a, b). Find minimum positive value x such that it is true or determine that there is no such x.
Input
Only one line containing two positive integers a and b (1 ≤ a, b ≤ 109).
Output
Output the only line containing the answer. Your answer will be considered correct if its relative or absolute error doesn't exceed 10 - 9. If there is no such x then output - 1 as the answer.
Sample test(s)
input
3 1
output
1.000000000000
input
1 3
output
-1
input
4 1
output
1.250000000000
Note
You can see following graphs for sample 1 and sample 3.
x * k = (a - b) / 2; x * k = (a+b)/2; x >=b;即可。
先求出k即为(a - b) /2 / b ;(a + b) /2 / b ;x也就求出来了。
#define N 205#define M 100005#define maxn 205#define MOD 1000000007int a,b;int main(){ //freopen("in.txt", "r", stdin); //freopen("out.txt", "w", stdout); while(scanf("%d%d",&a,&b)!=EOF) { if(a < b){ printf("-1\n"); continue; } if(a == b){ printf("%d\n",b); continue; } double x1 = (double)(a - b) / 2.0 /((a - b) / 2 / b); double x2 = (double)(a + b) / 2.0 /((a + b) / 2 / b); //cout<<min(x1,x2)<<endl; printf("%.12f\n",min(x1,x2)); } //fclose(stdin); //fclose(stdout); return 0;}
0 0
- Codeforces Round #320 (Div. 2) [Bayan Thanks-Round] C. A Problem about Polyline 精度控制
- Codeforces Round #320 (Div. 2) [Bayan Thanks-Round] C. A Problem about Polyline
- Codeforces Round #320 (Div. 2)C. A Problem about Polyline
- Codeforces Round #320 (Div. 2) C. A Problem about Polyline
- Codeforces Round #320 (Div. 2) C - A Problem about Polyline
- Codeforces Round #320 (Div. 2) C - A Problem about Polyline
- Codeforces Round #320 (Div. 2) C. A Problem about Polyline
- Codeforces Round #320 (Div. 2) [Bayan Thanks-Round] C 数学
- Codeforces 579 C. A Problem about Polyline(Codeforces Round #320 (Div. 2) )
- Codeforces Round #320 (Div. 1) A. A Problem about Polyline
- Codeforces Round #320 (Div. 2) 579C A Problem about Polyline(数学)
- Codeforces Round #320 (Div. 2) [Bayan Thanks-Round]
- Codeforces Round #320 (Div. 2) [Bayan Thanks-Round] (ABCDE题解)
- Codeforces Round #320 (Div. 2) [Bayan Thanks-Round]
- Codeforces Round #320 (Div. 2) [Bayan Thanks-Round] E 三分
- Codeforces Round #320 (Div. 1) [Bayan Thanks-Round] A B C
- Codeforces Round #320 (Div. 2) [Bayan Thanks-Round]A Raising Bacteria
- Codeforces Round #320 (Div. 2) 578A. A Problem about Polyline
- 浅谈sharepoint的权限的研究
- cadence16.5中XNET的设置方法
- 关于delegate 与 protocol 的理解 iOS
- 程序设计vs 写作
- 图像局部特征学习(笔记1之斑点检测)
- Codeforces Round #320 (Div. 2) [Bayan Thanks-Round] C. A Problem about Polyline 精度控制
- Python快速入手
- Android 绘图进阶(二):Xfermode(画笔风格)绘制涂层
- java获得当前时间和当前时间前30秒时间
- Android使用百度地图SDK获得当前设备位置所在的省、市
- Metis输入格式
- Git 简易使用教程
- 数据库之——timestamp中的update和insert
- Flex使用Scroller组件实现以鼠标为中心的缩放