hdu2073 无限的路

原创 2018年04月16日 19:43:07

这道题吧我觉得还是有点思维量的。


思路:1.我们要求的是两点之间的距离,可以转化为点到原点的距离,然后相减。

         2.首先看这张图分为两种线:一种是有点的线【如(0,1)与(1,0)的线;(0,2)与(2,0)的线】,一种是没有点的线【如(0,1)与(0,0)的线;(0,2)与(1,0)的线,(0,3)与(2,0)的线】。

         我们先看第二种线(因为这种考虑的情况要少些):

         A.假设要求的是(0,2)到原点的距离,最近的没有点的边那就是sqrt(pow(1,2)+pow(2,2));同理假设要求得是(0,4)到原点的距离,最近的没有点的那就是sqrt(pow(3,2)+pow(4,2)); 

         B.假设要求得是(3,0),最近的没有点的边为sqrt(pow(2,2)+pow(3,2));

         C.假设要求得 是(1,2),然后发现离该点最近的没有点的边是(0,3)与(2,0)之间的连线,1+2=3,然后也就可以像上面那样子做了。

        最后看第一种带点的线:很简单的我们可以发现第一个边为sqrt(2),第二个边为2*sqrt(2),第三个边为3*sqrt(2);

假如求得是(1,2),有1+2=3,3-1条完整的有点的边,然后根据这个点的x坐标来计算最后还有几个根号2.

然后就大功告成!!!!!


#include<stdio.h>
#include<math.h>
double ll(int x,int y){
int i,n=x+y;
double s1=0,s2=0,l;
l=(double)sqrt(2);
for(i=0;i<n;i++){//计算的是没有点的边
    s1=s1+sqrt(pow(i,2)+pow(i+1,2));
}
for(i=1;i<n;i++){//计算的是有点的边(并且是该点之前的有点的 边)
  s2=s2+i*l;
}
s2=s2+x*l;
s2=s2+s1;
return s2;
}
int main(){
int n;
while(scanf("%d",&n)!=EOF){
    while(n--){
        int  x1,y1,x2,y2;
        double sum;
        scanf("%d %d %d %d",&x1,&y1,&x2,&y2);
        sum=fabs(ll(x1,y1)-ll(x2,y2));
        printf("%.3lf\n",sum);
    }
}
return 0;
}

HDU 2073 : 无限的路 (水)

甜甜从小就喜欢画图画,最近他买了一支智能画笔,由于刚刚接触,所以甜甜只会用它来画直线,于是他就在平面直角坐标系中画出如下的图形: 甜甜的好朋友蜜蜜发现上面的图还是有点规则的,于是他问甜甜:...
  • xp731574722
  • xp731574722
  • 2017年07月09日 13:02
  • 177

HDU2073 无限的路

#include #include #include using namespace std; double distancen(int x,int y) {     double ...
  • AC_Gibson
  • AC_Gibson
  • 2014年10月27日 13:11
  • 519

hdu2073-无限的路

hdu2073 几何简单题 #include #include #include using namespace std; struct point { int x,y; };...
  • dellaserss
  • dellaserss
  • 2012年08月13日 20:28
  • 4644

hdu2073(无限的路)

无限的路 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Sub...
  • u013455430
  • u013455430
  • 2014年03月25日 10:34
  • 349

hdu2073无限的路

看图找规律,那笔谢谢就知道了 #include "iostream" #include "cmath" using namespace std; double s[200]; ...
  • blint735342728
  • blint735342728
  • 2014年10月29日 01:46
  • 134

HDU2073 无限的路

无限的路 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total...
  • u012846486
  • u012846486
  • 2015年01月18日 18:46
  • 814

hdu2073 无限的路 计算几何

题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2073 Problem Description 甜甜从小就喜欢画图画,最近他买了一支智能画笔...
  • migu77777
  • migu77777
  • 2016年08月08日 23:59
  • 158

hdu2073 无限的路 瞎搞

Problem Description 甜甜从小就喜欢画图画,最近他买了一支智能画笔,由于刚刚接触,所以甜甜只会用它来画直线,于是他就在平面直角坐标系中画出如下的图形: 甜甜的好朋友蜜蜜发现上面的...
  • stc_XC
  • stc_XC
  • 2016年07月03日 22:23
  • 299

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

题目大意:按照图上所示,给你两点坐标,求两点间的折线距离。 思路:利用递推。这里,模拟了从(0,0)点到(x,y)点折线路线递推的过程。 设i为横坐标,j为纵坐标。则路径为 先右下到纵坐标为0,再一步...
  • u011676797
  • u011676797
  • 2015年01月15日 08:54
  • 645

HDU-2073-无限的路

无限的路 Crawling in process... Crawling failed Time Limit:1000MS     Memory Limit:32768KB     64bit IO ...
  • qq_34681949
  • qq_34681949
  • 2016年07月01日 22:08
  • 413
收藏助手
不良信息举报
您举报文章:hdu2073 无限的路
举报原因:
原因补充:

(最多只允许输入30个字)