• CF div2 320 C


    C. A Problem about Polyline
    time limit per test
    1 second
    memory limit per test
    256 megabytes
    input
    standard input
    output
    standard output

    There 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.

    挺有意思的,在纸上推一遍就可以了,对于每个点(a,b),显然如果b>a则无解,然后就是有解的情况,分两种情况,一种是点(a,b)在斜率为1的线上
    那么这个线段过(a-b,0)这个点,同理如果在斜率为-1的线上,那么这个线段过(a+b,0)这个点。然后开始各种推。
     1 #include <cstdio>
     2 #include <cstring>
     3 
     4 using namespace std;
     5 
     6 const int M = 10005;
     7 
     8 int main()
     9 {
    10     long long a,b;
    11     scanf("%lld%lld",&a,&b);
    12     if(a<b) puts("-1");
    13     else printf("%.12f
    ",(a+b)/(2.0*((a+b)/(2*b))));
    14 
    15 
    16     return 0
  • 相关阅读:
    PHP书写规范 PHP Coding Standard
    PHP开发编码规范.
    javascript hasOwnProperty 函数
    PHP::转义与反转义函数 (POST/GET/COOKIE)
    PHP 单一入口程序
    SET_INCLUDE_PATH详细解释
    PHP类命名规范
    管理软件本质论
    数据驱动
    脚本适用场合
  • 原文地址:https://www.cnblogs.com/lmlyzxiao/p/4818003.html
Copyright © 2020-2023  润新知