hdu2073-无限的路
2012-08-13 20:28
155 查看
hdu2073
几何简单题
几何简单题
#include<iostream> #include<math.h> #include<stdio.h> using namespace std; struct point { int x,y; }; double ans(point P1,point P2) { if((P1.x+P1.y)==(P2.y+P2.x)) return sqrt((P1.x-P2.x)*(P1.x-P2.x)+(P1.y-P2.y)*(P1.y-P2.y)); int i,t=P2.x+P2.y-P1.y-P1.x;//printf("t=%d\n",t); double ret=0; for(i=P1.x+P1.y;i<P2.y+P2.x;i++) { ret+=sqrt(i*i+(i+1)*(i+1)); // printf("i=%d ,%.03lf\n",i,sqrt(i*i+(i+1)*(i+1))); } point t1={P1.x+P1.y,0},t2={0,P2.y+P2.x}; ret+=ans(P1,t1)+ans(t2,P2); // printf("%.03lf+%.03lf\n",ans(P1,t1),ans(t2,P2)); for(i=P1.x+P1.y+1;i<P2.y+P2.x;i++) { point t1={i,0},t2={0,i}; ret+=ans(t1,t2); } return ret; } int main() { int i,j,T; point P1,P2; scanf("%d",&T); while(T--) { scanf("%d%d%d%d",&P1.x,&P1.y,&P2.x,&P2.y); if(P1.x+P1.y>P2.x+P2.y) swap(P1,P2); printf("%.03lf\n",ans(P1,P2)); } return 0; }
相关文章推荐
- HDU2073 无限的路【水题】【递推】
- hdu2073无限的路
- hdu2073-无限的路
- HDU2073 无限的路
- hdu2073 无限的路 瞎搞
- hdu2073 无限的路 计算几何
- HDU2073 无限的路
- hdu2073(无限的路)
- js实现无限级树形导航列表
- phonegap ios插件开发及无限后台运行解决
- HDU-2073-无限的路
- 利用jquery写的无限弹出移动窗口,仿桌面窗口移动,原理很简单
- listview getview 无限执行 问题
- java、js中实现无限层级的树形结构(类似递归)
- javascript实现无限级select联动菜单
- jQuery无限级动态添加编辑删除功能【原创】
- 超级(无限)大的 --- 整型10进制数据与16进制数据相互转换
- .Net中实现无限分类的2个例子
- IOS高级开发~开机启动&无限后台运行&监听进程
- thinkphp 实现无限级分类应用实现