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.要注意代码的组织,因为计算几何的题目很容易上两百行代码,里面 ...
随机推荐
- 77.招聘信息管理 EXTJS 页面
1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8&quo ...
- Blender插件初始化范例
目标 [x] 总结Blender插件初始化范例 总结 插件模板 Blender内部插件实现方式模板功能总结如下: 定义了子模块重加载方式 定义了批量加载子模块的方式 插件注册函数 插件注销函数 模块总 ...
- C - Tram
Problem description Linear Kingdom has exactly one tram line. It has n stops, numbered from 1 to n i ...
- struts2框架搭建(一)
struts2是一个基于mvc的web应用框架.struts2本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器层(Controller)来建立模型与视图的数据交互. str ...
- Quartz 表达式的学习
只记录用到过的,不全面 Quartz版本:quartz-all-1.6.0.jar 先看图 其他示例: 0 5,6,13 * * ? 意义:每日5:00,6:00,13:00 被触发 0 10,30 ...
- Asp.net MVC4 Step by Step (1)-路由,控制器,视图
注意:此文需要你有一定Asp.net MVC的基础,很多东西省略了,只是做个提要笔记形式. 要创建一个ASP.NET MVC的Web应用,首先要去下载ASP.NET MVC框架, 可以访问ASP.NE ...
- eclipse中server 没有tomcat选项
eclipse集成Tomcat: 打开eclipse - 窗口 - 首选项 - 服务器 - 运行时环境 找到Tomcat然后添加. eclipse添加插件: 开发WEB项目时要集成Tomcat可以并不 ...
- Scala——面向对象和函数式编程语言
Scala Scala是一门运行时基于JVM的编程语言,具备函数式编程和面向对象特点. 基本知识 basics 任意词均可作为符号名,对于关键词,以反引号包裹,避免使用下划线,避免带美元符的名字. 声 ...
- C# 彻底关闭程序,包括循环
System.Environment.Exit(System.Environment.ExitCode); this.Dispose(); this.Close();
- 怎么不让别人ping服务器
频繁地使用Ping命令会导致网络堵塞.降低传输效率,为了避免恶意的网络攻击,一般都会拒绝用户Ping服务器.为实现这一目的,不仅可以在防火墙中进 行设置,也可以在路由器上进行设置,并且还可以利用Win ...