题目:已知三点,求到三点距离相同的点。

分析:计算几何。分三类情况讨论:

1.三点共线,不成立;

2.多点重叠,有多组解;

3.是三角形,输出中点。

说明:注意绝对值小于0.05的按0计算;负数的四舍五入与正数不同,-0.05的%.1lf输出是 -0.0。

#include <stdio.h>
#include <stdlib.h>
#include <math.h>double dist( double x0, double y0, double x1, double y1 )
{return sqrt((x1-x0)*(x1-x0)+(y1-y0)*(y1-y0));
}double deal( double x )
{double esp = 1e-6;if ( x + esp < 0.05 && x - esp > -0.05 )return 0.0;else if ( x < 0.0 )return x - esp;else return x;}void calc( double x0, double y0, double x1, double y1, double x2, double y2 )
{double a  = dist( x0, y0, x1, y1 );double b  = dist( x0, y0, x2, y2 );double c  = dist( x2, y2, x1, y1 );if ( x0 == x1 && y1 == y0 || x0 == x2 && y2 == y0 || x2 == x1 && y1 == y2 ) {printf("There is an infinity of possible locations.\n");return;}if ( fabs(a-b-c) < 1e-9 || fabs(b-a-c) < 1e-9 || fabs(c-a-b) < 1e-9 ) {printf("There is no possible location.\n");return;}double A1 = x1-x0,B1 = y1-y0,C1 = x1*x1-x0*x0+y1*y1-y0*y0;double A2 = x2-x0,B2 = y2-y0,C2 = x2*x2-x0*x0+y2*y2-y0*y0;double X  = (B1*C2-B2*C1)/(A1*B2-A2*B1)/-2.0;double Y  = (A2*C1-A1*C2)/(A1*B2-A2*B1)/-2.0;printf("The equidistant location is (%.1lf, %.1lf).\n",deal(X),deal(Y));
}int main()
{int n;double x1,x2,x3,y1,y2,y3;while ( ~scanf("%d",&n) ) while ( n -- ) {scanf("%lf%lf%lf%lf%lf%lf",&x1,&y1,&x2,&y2,&x3,&y3);calc( x1, y1, x2, y2, x3, y3 );}return 0;
}

UVa 10697 - Firemen barracks相关推荐

  1. 一位学长的ACM总结(感触颇深)

    发信人: fennec (fennec), 信区: Algorithm 标 题: acm 总结 by fennec 发信站: 吉林大学牡丹园站 (Wed Dec 8 16:27:55 2004) AC ...

  2. [搜索]UVa 129 困难的串

    题意:将一个包含两个相邻的重复子串的子串,称为"容易的串",其他为"困难的串". 输入正整数n和l,输出由前l个字符组成的,字典序第n小的困难的串. 输入样例: ...

  3. uva 401.Palindromes

    题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem ...

  4. Uva 3767 Dynamic len(set(a[L:R])) 树套树

    Dynamic len(set(a[L:R])) Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 https://uva.onlinejudge.org/in ...

  5. UVA 11752 超级幂

    UVA 11752 超级幂 Z - The Super Powers Time Limit:1000MS     Memory Limit:0KB     64bit IO Format:%lld & ...

  6. UVa 11174 - Stand in a Line

    http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&p ...

  7. UVa 10112 - Myacm Triangles

    UVa第一卷最后一题. 求内部不含点并且面积最大的三角形. 暴力. 代码如下: 1 #include<iostream> 2 #include<cstdio> 3 #inclu ...

  8. UVa 10180 - Rope Crisis in Ropeland!

    题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=41&pa ...

  9. Uva 10074【递推dp】

    UVa 10074 题意:求01矩阵的最大子0矩阵. http://www.csie.ntnu.edu.tw/~u91029/MaximumSubarray.html#2 这里说的很清楚.先求Larg ...

最新文章

  1. Centos 搭建高性能WEB服务 Nginx+PHP+MYSQL+Discuz论坛
  2. Java实战项目开发学习书籍
  3. 博士申请 | 宾夕法尼亚州立大学招收机器学习/人工智能方向全奖博士
  4. 5分钟理解一致性哈希算法
  5. 汇编语言 masm常见报错原因
  6. centos7:塔建pure_ftpd虚拟用户
  7. unity 随机数_Unity 雨水滴到屏幕效果
  8. python程序-30分钟学会用Python编写简单程序
  9. 一周水题集锦 2017 9.4
  10. 安卓最好的流量防火墙—Droidwall
  11. atmega 328P-PU 烧录arduino uno成功(纪念)
  12. 自学c语言资料,自学c语言(全套资料).doc
  13. Microsoft Excel 教程:如何在 Excel 中隐藏或显示行或列?
  14. 小兔子乖乖用计算机,宝贝宝贝歌词说说:两只老虎爱跳舞,小兔子乖乖拔萝卜...
  15. 项目管理/思维技术实战专家陈永生
  16. linux内核ppt刘小明,【陈老师华为北研所讲座PPT】从机制与策略探究Linux内核设计之道(4)...
  17. IDEA注释模板设置【非常实用】
  18. xShell6远端登录Linux登录错误Connecting to 192.168.112.128:22... Could not connect to ‘192.168.112.128‘ (p
  19. 研究生周报(第十九周)
  20. 中国LINUX公社(论坛)

热门文章

  1. 热塑性塑料注射成型中的常见缺陷及产生原因
  2. 怎么把flv转换成mp4格式?
  3. JAVA计算机毕业设计心灵治愈服务平台Mybatis+源码+数据库+lw文档+系统+调试部署
  4. 双机热备+负载均衡 线上方案 (Heartbeat+DRBD+NFS+Keepalived+Lnmp)
  5. 福州大学计算机英语复试自我介绍,英语复试攻略大放送!
  6. 关于行列满秩矩阵的一个小结论
  7. 科创板|柏楚电子股价首次跌破200元
  8. 高通QCC306J接入windows10显示未知设备处理方法
  9. 智能优化方法——产生与发展
  10. Linux 下如何查看进程和终止进程