POJ 1329
模板题,注意一下输出就可以。
#include <iostream>
#include <cstdio>
#include <cmath>
#include <algorithm> using namespace std;
struct point {
double x,y;
};
struct triangle{
point t[3];
}t;
struct Circle{
double x,y;
double r;
}tmp; double dist(point p1, point p2){
return sqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y));
} double triangleArea(){
return fabs(t.t[0].x*t.t[1].y+t.t[1].x*t.t[2].y+t.t[2].x*t.t[0].y-
t.t[1].x*t.t[0].y-t.t[2].x*t.t[1].y-t.t[0].x*t.t[2].y)/2;
} int main(){
double x1,y1,x2,y2,x3,y3;
while(scanf("%lf%lf%lf%lf%lf%lf",&x1,&y1,&x2,&y2,&x3,&y3)!=EOF){
t.t[0].x=x1; t.t[0].y=y1;
t.t[1].x=x2; t.t[1].y=y2;
t.t[2].x=x3; t.t[2].y=y3;
double a,b,c;
a=dist(t.t[0],t.t[1]);
b=dist(t.t[1],t.t[2]);
c=dist(t.t[2],t.t[0]);
tmp.r=(a*b*c)/triangleArea()/4;
double c1=(x1*x1+y1*y1-x2*x2-y2*y2)/2;
double c2=(x1*x1+y1*y1-x3*x3-y3*y3)/2;
tmp.x=(c1*(y1-y3)-c2*(y1-y2))/((x1-x2)*(y1-y3)-(x1-x3)*(y1-y2));
tmp.y=(c1*(x1-x3)-c2*(x1-x2))/((y1-y2)*(x1-x3)-(y1-y3)*(x1-x2));
printf("(x");
if(tmp.x>=0) printf(" - %0.3lf)^2 + (y",tmp.x);
else printf(" + %0.3lf)^2 + (y",-tmp.x);
if(tmp.y>=0) printf(" - %0.3lf)^2 =",tmp.y);
else printf(" + %0.3lf)^2 =",-tmp.y);
printf(" %0.3lf^2\n",tmp.r);
printf("x^2 + y^2");
if(tmp.x>0)
printf(" - %0.3lfx",2*tmp.x);
else printf(" + %0.3lfx",-2*tmp.x);
if(tmp.y>0)
printf(" - %0.3lfy",2*tmp.y);
else printf(" + %0.3lfy",-2*tmp.y);
double ans=tmp.x*tmp.x+tmp.y*tmp.y-tmp.r*tmp.r;
if(ans<0){
printf(" - %.3lf = 0\n",-ans);
}
else printf(" + %.3lf = 0\n",ans);
printf("\n");
}
return 0;
}
POJ 1329的更多相关文章
- poj 1329 Circle Through Three Points(求圆心+输出)
题目链接:http://poj.org/problem?id=1329 输出很蛋疼,要考虑系数为0,输出也不同 #include<cstdio> #include<cstring&g ...
- ●POJ 1329 Circle Through Three Points
题链: http://poj.org/problem?id=1329 题解: 计算几何,求过不共线的三点的圆 就是用向量暴力算出来的东西... (设出外心M的坐标,由于$|\vec{MA}|=|\ve ...
- POJ 1329 Circle Through Three Points(三角形外接圆)
题目链接:http://poj.org/problem?id=1329 #include<cstdio> #include<cmath> #include<algorit ...
- POJ 1329 Circle Through Three Points(三角形外心)
题目链接 抄的外心模版.然后,输出认真一点.1Y. #include <cstdio> #include <cstring> #include <string> # ...
- POJ 1329
三角外接圆
Circle Through Three Points Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 3169 Acce ...
- POJ - 1329 Circle Through Three Points 求圆
Circle Through Three Points Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 4112 Acce ...
- poj 1329(已知三点求外接圆方程.)
Circle Through Three Points Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 3766 Acce ...
- [转] POJ计算几何
转自:http://blog.csdn.net/tyger/article/details/4480029 计算几何题的特点与做题要领:1.大部分不会很难,少部分题目思路很巧妙2.做计算几何题目,模板 ...
- ACM计算几何题目推荐
//第一期 计算几何题的特点与做题要领: 1.大部分不会很难,少部分题目思路很巧妙 2.做计算几何题目,模板很重要,模板必须高度可靠. 3.要注意代码的组织,因为计算几何的题目很容易上两百行代码,里面 ...
随机推荐
- bzoj3673 & bzoj3674 & 洛谷P3402 可持久化并查集
题目:bzoj3673:https://www.lydsy.com/JudgeOnline/problem.php?id=3673 bzoj3674:https://www.lydsy.com/Jud ...
- 第2章 安装Nodejs Nodejs基础 课程介绍
因为你做任何Nodejs应用,底层无非都是通过调用这些既有的开放的接口,来完成相应的功能.这个要注意,不同版本的Nodejs,接口不一定相同.甚至是相同的接口,使用规范也有区别.我们以这个版本来过这些 ...
- LeetCode.5-最长回文子串(Longest Palindromic Substring)
这是悦乐书的第342次更新,第366篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Medium级别的第3题(顺位题号是5).给定一个字符串s,找到s中最长的回文子字符串. 您可以假设s ...
- 5.7 Liquibase:与具体数据库独立的追踪、管理和应用数据库Scheme变化的工具。-mybatis-generator将数据库表反向生成对应的实体类及基于mybatis的mapper接口和xml映射文件(类似代码生成器)
一. liquibase 使用说明 功能概述:通过xml文件规范化维护数据库表结构及初始化数据. 1.配置不同环境下的数据库信息 (1)创建不同环境的数据库. (2)在resource/liquiba ...
- javascript基础(完整)
一.什么是javascript? 是一种基于对象和事件驱动(以事件驱动的方式直接对客户端的输入做出响应,无需经过服务器端)并具有安全性能的解释型脚本语言,在web应用中得到非常广泛地应用.它不需要编译 ...
- CDC之fast->slow (1)
Sampling slower signals into faster clock domains causes fewer potential problems than sampling fast ...
- 三维重建面试4:Jacobian矩阵和Hessian矩阵
在使用BA平差之前,对每一个观测方程,得到一个代价函数.对多个路标,会产生一个多个代价函数的和的形式,对这个和进行最小二乘法进行求解,使用优化方法.相当于同时对相机位姿和路标进行调整,这就是所谓的BA ...
- mui scrollTo到指定位置,出现空白页及拉不动的问题解决
使用方式简介 mui 列表页使用的是 mui的插件实现的上拉加载下拉刷新,但是从详情页回到列表页时 不能回到之前的位置.所以想到了使用缓存. 第一次和第二次的试验是失败的.失败后,就想用其他办法来解决 ...
- webpack学习(五)—webpack+react+es6(第1篇)
如果你看过webpack学习系列的前一个文章,接下来做的东西会比较简单 :webpack学习(四)— webpack-dev-server react发展的很快,现在大部分开发react相关的项目,都 ...
- Arrays工具类的使用
1.包: java.util 导包 2.此类包含用来操作数组(比如排序和搜索)的各种方法 特点: 该类中的方法都是静态方法,所以可以直接使用类名.方法名(实参)调用 3.查看成员方法: public ...