博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU1791三点确定一个圆
阅读量:4679 次
发布时间:2019-06-09

本文共 1555 字,大约阅读时间需要 5 分钟。

1 #include 
2 #include
3 #include
4 #include
5 #include
6 #include
7 #include
8 #include
9 #include
10 #include
11 #include
12 #include
13 #include
14 using namespace std ;15 #ifdef DeBUG16 #define bug assert17 #else18 #define bug //19 #endif20 #define zero {0}21 #define INF 200000000022 #define EPS 1e-1023 inline int sgn(double x)//sgn函数符号判断 ,小于给定精度判零24 {25 return fabs(x) < EPS ? 0 :(x < 0 ? -1 : 1);26 }27 struct POINT28 {29 double x;30 double y;31 POINT()32 {33 }34 POINT(double a,double b):x(a),y(b)35 {36 }37 };38 double dist(POINT p,POINT r)39 {40 return sqrt((p.x-r.x)*(p.x-r.x)+(p.y-r.y)*(p.y-r.y));41 }42 bool cocircle(POINT p1,POINT p2,POINT p3,POINT &q,double &r)43 {44 double x12=p2.x-p1.x;45 double y12=p2.y-p1.y;46 double x13=p3.x-p1.x;47 double y13=p3.y-p1.y;48 double z2=x12*(p1.x+p2.x)+y12*(p1.y+p2.y);49 double z3=x13*(p1.x+p3.x)+y13*(p1.y+p3.y);50 double d=2.0*(x12*(p3.y-p2.y)-y12*(p3.x-p2.x));51 if(abs(d)
>x1>>y1>>x2>>y2>>x3>>y3;72 /*73 if(sgn((x3-x1)*(y2-y1)-(y3-y1)*(x2-x1))==0)74 printf("No this position\n");75 else76 { */77 if(cocircle(POINT(x1,y1),POINT(x2,y2),POINT(x3,y3),xin,r))78 printf("%.1lf %.1lf\n",xin.x,xin.y);79 else if((x1==x2&&y1==y2)||(x1==x3&&y1==y3)||(x2==x3&&y2==y3))//知道数据了这里偷个懒呵呵,应判断两点中点 80 printf("%.1lf %.1lf\n",(x1+x2+x3)/2,(y1+y2+y3)/2);81 else82 printf("No this position\n");83 //}84 }85 return 0;86 }
View Code

 

转载于:https://www.cnblogs.com/Skyxj/p/3227904.html

你可能感兴趣的文章
html代码中显示系统时间
查看>>
linux学习心得之vim/Cvim篇
查看>>
cloud_config学习_2
查看>>
jQuery
查看>>
js base64 转成图片上传
查看>>
初次使用VCS仿真软件
查看>>
LeetCode-Largest Divisble Subset
查看>>
八大排序算法
查看>>
Beta(1/7)
查看>>
基于jQuery UI的tabs选项卡美化
查看>>
nopCommerce 3.3正式发布及新增功能改进
查看>>
js数组拍平
查看>>
第二次会议(2019.4.5)
查看>>
亚马逊AWS业务副总裁:如何在基础设施上降成本
查看>>
junit import org.junit.Test 报错
查看>>
linux —— 学习笔记(用户管理与权限控制)
查看>>
网络编程并发编程
查看>>
Chosen 的 optgroup 第一级单击的时候选择二级的全部
查看>>
M25-4
查看>>
js中用变量作为$()内id的值、动态获取id,及获取其下面的class元素
查看>>