hdu2073(无限的路)
2014-03-25 10:34
162 查看
无限的路
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 5148 Accepted Submission(s): 2653
[align=left]Problem Description[/align]
甜甜从小就喜欢画图画,最近他买了一支智能画笔,由于刚刚接触,所以甜甜只会用它来画直线,于是他就在平面直角坐标系中画出如下的图形:
甜甜的好朋友蜜蜜发现上面的图还是有点规则的,于是他问甜甜:在你画的图中,我给你两个点,请你算一算连接两点的折线长度(即沿折线走的路线长度)吧。
[align=left]Input[/align]
第一个数是正整数N(≤100)。代表数据的组数。
每组数据由四个非负整数组成x1,y1,x2,y2;所有的数都不会大于100。
[align=left]Output[/align]
对于每组数据,输出两点(x1,y1),(x2,y2)之间的折线距离。注意输出结果精确到小数点后3位。
[align=left]Sample Input[/align]
5 0 0 0 1 0 0 1 0 2 3 3 1 99 99 9 9 5 5 5 5
[align=left]Sample Output[/align]
1.000 2.414 10.646 54985.047 0.000
代码如下:
#include<stdio.h> #include<cmath> #include<string.h> #include<iostream> using namespace std; const double X=sqrt(2.0); double dis[202]; int main() { double fun(int a,int b); int x1,x2,y1,y2,i; int t; for( i=0;i<=200;i++) dis[i]=sqrt(double(i*i+(i+1)*(i+1))); cin>>t; while(t--) { cin>>x1>>y1>>x2>>y2; if(x1+y1>x2+y2) { swap(x1,x2); swap(y1,y2); } printf("%.3lf\n",(fun(x2,y2)-fun(x1,y1)) ); } return 0; } double fun(int a,int b) { int i; double sum=0; int n=a+b; for(i=1;i<n;i++) sum+=i*X*1.0; sum+=(a*X); for(i=0;i<n;i++) { sum+=dis[i]; } return sum; }
相关文章推荐
- HDU2073 无限的路
- HDU2073 无限的路【水题】【递推】
- hdu2073-无限的路
- hdu2073无限的路
- hdu2073-无限的路
- HDU2073 无限的路
- hdu2073 无限的路 瞎搞
- hdu2073 无限的路 计算几何
- 企业软件,WEB和对于他们无限美好的遐想(第十日)--2014-3-19--祈祷日2 + Struts 原理分析 (九)
- 陶小开:微信营销价值无限
- TreeView绑定无限层级关系类
- Golang中不要使用无限循环检查goroutine是否完成工作
- ThinkPad E431 获取无限网络的驱动
- cocos2d-x游戏开发(三)无限滚动地图
- 搭建一个免费的,无限流量的Blog----github Pages和Jekyll入门
- 无限循环 动态删除 添加 viewpager适配器
- php+mysql不用递归实现的无限级分类实例(非递归)
- hdu 2073 无限的路*
- CSS+JS实现兼容性很好的无限级下拉菜单
- PHP递归实现无限级分类