java计算三角形的外心_hdu 6006(java 大数,三角形的外心)
因为有精度误差,所以用Bigdecimal直接模拟就行
import java.util.*;
import java.math.*;
public class Main
{
public static BigDecimal fun(BigDecimal x)
{
return x.multiply(x);
}
public static void main(String []args)
{
Scanner in = new Scanner(System.in);
int Tcase = in.nextInt();
// System.out.println(Tcase);
while ( (Tcase --) > 0 )
{
BigDecimal
x1 = in.nextBigDecimal() ,y1 = in.nextBigDecimal(),
x2 = in.nextBigDecimal() ,y2 = in.nextBigDecimal(),
x3 = in.nextBigDecimal() ,y3 = in.nextBigDecimal(),
x4 = in.nextBigDecimal() ,y4 = in.nextBigDecimal();
BigDecimal a = y3.subtract(y2).multiply(new BigDecimal(2) ).multiply( x2.multiply(x2).add(y2.multiply(y2)) .subtract( x1.multiply(x1)).subtract( y1.multiply(y1)));
BigDecimal b = y2.subtract(y1).multiply(new BigDecimal(2)).multiply( x3.multiply(x3).add( y3.multiply(y3)).subtract( x2.multiply(x2)).subtract(y2.multiply(y2)));
BigDecimal c = y3.subtract(y2).multiply(new BigDecimal(4)).multiply(x2.subtract(x1));
BigDecimal d = y2.subtract(y1).multiply(new BigDecimal(4)).multiply(x3.subtract(x2));
BigDecimal x = a.subtract(b).divide(c.subtract(d));
// System.out.println(a + " " + b + " " + c + " " + d );
a = x3.subtract(x2).multiply(new BigDecimal(-2)).multiply( x2.multiply(x2).add( y2.multiply(y2)).subtract(x1.multiply(x1)).subtract( y1.multiply(y1)));
b = x2.subtract(x1).multiply(new BigDecimal(2)).multiply( x3.multiply(x3).add(y3.multiply(y3)).subtract(x2.multiply(x2)).subtract( y2.multiply(y2)));
c = y3.subtract(y2).multiply(new BigDecimal(4)).multiply(x2.subtract(x1));
d = y2.subtract(y1).multiply(new BigDecimal(4)).multiply(x3.subtract(x2));
BigDecimal y = a.add(b).divide(c.subtract(d));
BigDecimal r = fun(x.subtract(x1)).add( fun(y.subtract(y1)) );
BigDecimal temp = fun(x.subtract(x4)).add(fun(y.subtract(y4)) );
// System.out.println(x + " " + y);
if(temp.compareTo(r) == 1)System.out.println("Accepted");
else System.out.println("Rejected");
}
}
}
java计算三角形的外心_hdu 6006(java 大数,三角形的外心)相关推荐
- java计算加减表达式_【Java】计算加减乘除数学公式(简单计算器)含小数
package calculation; /*import java.util.Scanner; import java.util.List; import java.util.ArrayList; ...
- java计算何时赶超_网上说 Java 的性能已经达到甚至超过 C++,是真的吗?
求一个完成中值滤波的纯JAVA代码.我手里正好有一个C++的中值滤波代码,想对比下两者究竟差距多大. @圆胖肿 可否写一个JAVA程序来佐证下你的观点呢? 我这面的C++代码,对一张5184*3456 ...
- java计算时间跨度_请问如何使用Java计算时间跨度并格式化输出?
是的,Yup唤醒了我的死人,但这是基于@mtim发布的代码的我改进的实现,因为该线程几乎位于搜索的顶部,所以我弄得昏昏欲睡, public static String getFriendlyTime( ...
- java计算八皇后_八皇后java算法
public class NQueens { public static int num = 0; // 累计方案总数 public static final int MAXQUEEN = 5;// ...
- Java计算三角形的面积
Java计算三角形的面积 Java计算三角形的面积 package com.qingsu.basis;import java.util.Scanner; import java.lang.Math;p ...
- Java:打印图形(菱形、平行四边形、三角形....)
1.打印菱形 package csdn1; public class java菱形 { public static void main(String[] args) { pri ...
- Java—计算各种图形的周长(接口与多态)
Java-计算各种图形的周长(接口与多态) Description 定义接口Shape,定义求周长的方法length(). 定义如下类实现接口Shape的抽象方法: (1)三角形类Triangle ( ...
- Java计算两个字符串日期之间的天数差
Java计算两个字符串日期之间的天数差 调用方法: public static void main(String[] args) throws ParseException {String a = & ...
- 炒股Java_基于java计算买卖股票的最佳时机
这篇文章主要介绍了基于java计算买卖股票的最佳时机,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 问题: 可以将问题转化为如下图所示,即求多个累计 ...
最新文章
- Lottie开源动画库
- Linux(Ubuntu)下嵌入式gdb调试环境
- 计算机编程软文,全盲男孩自学编程,一句话打动无数网友…
- python字符串常用方法_字符串常用方法
- mysql win10 5.5_win10上MySql5.5版本升级到5.7
- 如何提升测试环境的稳定性?来看看阿里内部的实践总结
- Paxos一致性协议
- 搞个游戏赚大钱!华为云搞了个吃鲲游戏,约你来打怪!
- gramer法则matlab,线性代数-matlab实验报告.doc
- 线程与进程最通俗易懂的解释(附面试题与答案)
- BZOJ 2648: SJY摆棋子(K-D Tree)
- 计算机网络原理-计算题汇总
- 物理层下面的传输媒体
- 初识计算机程序ppt,初识计算机程序.ppt
- 计算机硬盘对计算机速度的影响,固态硬盘会不会影响整个电脑的运行速度
- 参考文献怎么查找,去哪里查找?一篇文章讲明白这些问题
- Java选择题(七)
- css自动均匀分布,如何在CSS中均匀分布?
- 互融云供应链金融系统4.0 来了!系统又增哪些亮点?
- 用mysql触发器做数据统计
热门文章
- 百度手游虚拟服务器,百度发布“云手机”:可实现安卓App的云端运行
- java-把最后一个two单词首字母大写
- Houdini中角色通用修穿插方法
- 我的世界服务器物品栏太小咋办,《我的世界》MC背包容量太小?这四个装东西的道具了解一下!...
- 铁道部新规:列车空闲卧铺票可打折至50%
- 英语语法---宾语补足语详解
- 实验二:交换机基本配置
- python之python3.x版本用urllib爬虫出现的module 'urllib' has no attribute 'urlopen'与urllib.error.HTTPError: HTT
- 怎么sketch画板导出html,sketch符号和导出画板 – Sketch入门UI设计教程
- 距离感应器实现锁频教程