HDU-2073 无限的路

Description

甜甜从小就喜欢画图画,最近他买了一支智能画笔,由于刚刚接触,所以甜甜只会用它来画直线,于是他就在平面直角坐标系中画出如下的图形:

甜甜的好朋友蜜蜜发现上面的图还是有点规则的,于是他问甜甜:在你画的图中,我给你两个点,请你算一算连接两点的折线长度(即沿折线走的路线长度)吧。

Input

第一个数是正整数N(≤100)。代表数据的组数。
每组数据由四个非负整数组成x1,y1,x2,y2;所有的数都不会大于100。

Output

对于每组数据,输出两点(x1,y1),(x2,y2)之间的折线距离。注意输出结果精确到小数点后3位。

Sample Input

5

0 0 0 1

0 0 1 0

2 3 3 1

99 99 9 9

5 5 5 5

Sample Output

1.000

2.414

10.646

54985.047

0.000



  找规律,

#include <iostream>
#include <cmath>
using namespace std;

int main(void)
{
    int x1, y1, x2, y2, n, t;

    cin >> n;

    while(n--)
    {
        double sum = 0;

        cin >> x1 >> y1 >> x2 >> y2;

        if(x1+y1 > x2+y2)
        {
            t = x1; x1 = x2; x2 = t;
            t = y1; y1 = y2; y2 = t;

        }

        if(x1==x2 && y1==y2)
        {
            cout << "0.000" << endl;
            continue;

        }
        else
        {
            for(int i = x1+y1+1; i <= x2+y2; i++)
            {
                sum += i*sqrt(2.0)+sqrt(i*i+(i-1)*(i-1));

            }

            sum -= (y2-y1)*sqrt(2.0);

        }

        printf("%.3lf\n", sum);

    }

    return 0;
}
时间: 2024-10-12 21:16:50

HDU-2073 无限的路的相关文章

hdu 2073

<span style="font-size:18px;"></span><h1 style="COLOR: #1a5cc8">无限的路</h1><span size="+0"><strong><span style="font-family:Arial;font-size:12px;color:green;FONT-WEIGHT: bold">

HDU2073 无限的路

无限的路 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 6123    Accepted Submission(s): 3102 Problem Description 甜甜从小就喜欢画图画,最近他买了一支智能画笔,由于刚刚接触,所以甜甜只会用它来画直线,于是他就在平面直角坐标系中画出如下的图形: 甜甜的好朋友蜜蜜发现上面的图还是有点

HDU2073 无限的路【水题】【递推】

无限的路 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 6113    Accepted Submission(s): 3097 Problem Description 甜甜从小就喜欢画图画,最近他买了一支智能画笔,由于刚刚接触,所以甜甜只会用它来画直线,于是他就在平面直角坐标系中画出如下的图形: 甜甜的好朋友蜜蜜发现上面的图还是有点

【递推】【HDU 2073】无限的路 (找规律)

链接:http://acm.hdu.edu.cn/showproblem.php?pid=2073 意外之喜  还挺不错的一道题目 仔细观察不难发现   其实整个路线只有这两种线(绿色跟红色) 并且在移动过程中[x,y]的改变(红线部分)总是遵循这两种规律[x+1,y-1]或者[x-1,y+1],设x+y=z 在同一条红线中z的值是不变的 既然如此 我们不如直接用x+y来计算红线部分的总值,忽略x与y的具体数值 我们定义一个数组p1[z]来保存红线的前缀和 计算公式也很容易看出来p1[0] =

无限的路

Description 甜甜从小就喜欢画图画,最近他买了一支智能画笔,由于刚刚接触,所以甜甜只会用它来画直线,于是他就在平面直角坐标系中画出如下的图形:       甜甜的好朋友蜜蜜发现上面的图还是有点规则的,于是他问甜甜:在你画的图中,我给你两个点,请你算一算连接两点的折线长度(即沿折线走的路线长度)吧. Input 第一个数是正整数N(≤100).代表数据的组数.        每组数据由四个非负整数组成x1,y1,x2,y2:所有的数都不会大于100. Output 对于每组数据,输出两点

7F - 无限的路

甜甜从小就喜欢画图画,最近他买了一支智能画笔,由于刚刚接触,所以甜甜只会用它来画直线,于是他就在平面直角坐标系中画出如下的图形: 甜甜的好朋友蜜蜜发现上面的图还是有点规则的,于是他问甜甜:在你画的图中,我给你两个点,请你算一算连接两点的折线长度(即沿折线走的路线长度)吧. Input 第一个数是正整数N(≤100).代表数据的组数. 每组数据由四个非负整数组成x1,y1,x2,y2:所有的数都不会大于100. Output 对于每组数据,输出两点(x1,y1),(x2,y2)之间的折线距离.注意

转载:hdu 题目分类 (侵删)

转载:from http://blog.csdn.net/qq_28236309/article/details/47818349 基础题:1000.1001.1004.1005.1008.1012.1013.1014.1017.1019.1021.1028.1029. 1032.1037.1040.1048.1056.1058.1061.1070.1076.1089.1090.1091.1092.1093. 1094.1095.1096.1097.1098.1106.1108.1157.116

hdoj 2073--无限的路

无限的路 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 7601    Accepted Submission(s): 3913 Problem Description 甜甜从小就喜欢画图画,最近他买了一支智能画笔,由于刚刚接触,所以甜甜只会用它来画直线,于是他就在平面直角坐标系中画出如下的图形: 甜甜的好朋友蜜蜜发现上面的图还是有点规

杭电ACM分类

杭电ACM分类: 1001 整数求和 水题1002 C语言实验题——两个数比较 水题1003 1.2.3.4.5... 简单题1004 渊子赛马 排序+贪心的方法归并1005 Hero In Maze 广度搜索1006 Redraiment猜想 数论:容斥定理1007 童年生活二三事 递推题1008 University 简单hash1009 目标柏林 简单模拟题1010 Rails 模拟题(堆栈)1011 Box of Bricks 简单题1012 IMMEDIATE DECODABILITY