题目链接

题意

给出三个圆上的点,和一个目标的点,问目标点是否在这三个点构成的圆外面。

思路

许久没见过的Java高精度,不要加package!!!


import java.math.BigDecimal;
import java.util.Scanner; public class Main { public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int t = scan.nextInt();
while(t > 0) {
t--;
Point a = new Point(), b = new Point(), c = new Point(), tar = new Point();
a.x = scan.nextBigDecimal();
a.y = scan.nextBigDecimal();
b.x = scan.nextBigDecimal();
b.y = scan.nextBigDecimal();
c.x = scan.nextBigDecimal();
c.y = scan.nextBigDecimal();
tar.x = scan.nextBigDecimal();
tar.y = scan.nextBigDecimal();
Point zhong = new Point();
zhong.Waixin(a, b, c);
// System.out.println("zhongx : " + zhong.x + ", zhongy : " + zhong.y);
// System.out.println("tarx : " + tar.x + ", tary : " + tar.y);
BigDecimal d1 = zhong.Cal(tar, zhong); // 目标点和圆心距离
BigDecimal d2 = zhong.Cal(a, zhong); // 半径
// System.out.println("d1 : " + d1 + "\n" + "d2 : " + d2);
if(d1.compareTo(d2) != 1) System.out.println("Rejected");
else System.out.println("Accepted");
}
}
} class Point {
public BigDecimal x;
public BigDecimal y; void Waixin (Point a, Point b, Point c) {
BigDecimal two = new BigDecimal(2); BigDecimal a1 = b.x.subtract(a.x), b1 = b.y.subtract(a.y); BigDecimal aa1 = a1.multiply(a1); BigDecimal bb1 = b1.multiply(b1); BigDecimal cc1 = aa1.add(bb1); BigDecimal c1 = aa1.add(bb1); c1 = c1.divide(two); BigDecimal a2 = c.x.subtract(a.x), b2 = c.y.subtract(a.y); BigDecimal aa2 = a2.multiply(a2); BigDecimal bb2 = b2.multiply(b2); BigDecimal c2 = aa2.add(bb2); c2 = c2.divide(two); BigDecimal d1 = a1.multiply(b2); BigDecimal d2 = a2.multiply(b1); BigDecimal d = d1.subtract(d2); BigDecimal qq = c1.multiply(b2), ww = c2.multiply(b1), ee = a1.multiply(c2), rr = a2.multiply(c1); BigDecimal ii = qq.subtract(ww), jj = ee.subtract(rr); ii = ii.divide(d);
jj = jj.divide(d); this.x = a.x.add(ii);
this.y = a.y.add(jj);
} BigDecimal Cal(Point a, Point b) {
BigDecimal xx = a.x.subtract(b.x), yy = a.y.subtract(b.y);
xx = xx.multiply(xx);
yy = yy.multiply(yy);
xx = xx.add(yy);
return xx;
}
}

HDU 6207:Apple(Java高精度)的更多相关文章

  1. HDU 6206 Apple【计算几何+高精度Java】

    Problem Description Apple is Taotao's favourite fruit. In his backyard, there are three apple trees ...

  2. Java高精度学习第一弹

    为了快速解决高精度问题,总算是要来接触java了,算上这学期要开java的课了,好好学习吧! 拿来练手的是hdu的1002,高精度加法. import java.util.*; import java ...

  3. Java高精度学习第二弹——求N!

    继续学习Java高精度,今天写的是求N!. 首先附上源代码: import java.util.Scanner; import java.math.BigInteger; public class M ...

  4. JAVA高精度模板

    刚开始还坚持用C++写高精来着,后来发现JAVA写高精方便太多了,所以也来学习一下JAVA高精度的模板. 参考:https://www.cnblogs.com/imzscilovecode/p/883 ...

  5. java高精度实数和小数

    java 高精度实数和小数 String s = "1231222222222222222222222222222222222222222222222222222222"; Big ...

  6. java高精度类尝试

    java高精度尝试, poj2109,比较坑的题目 import java.io.*; import java.util.*; import java.math.*; public class Mai ...

  7. HDU 4925 Apple Tree(推理)

    HDU 4925 Apple Tree 题目链接 题意:给一个m*n矩阵种树,每一个位置能够选择种树或者施肥,假设种上去的位置就不能施肥,假设施肥则能让周围果树产量乘2.问最大收益 思路:推理得到肯定 ...

  8. Java高精度基础+开根

    在焦作站的acm网络赛中遇到了一个高精度开根的水题--但是那时候WA了 后面学写java补题还T了orz 所以写一篇文章来记录一下java的大整数类型的基础和开根还有一点心得体会吧 首先给那一题的题面 ...

  9. hdu 5429 Geometric Progression 高精度浮点数(java版本)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5429 题意:给一段长度不超过100的每个数字(可以是浮点数)的长度不超过1000的序列,问这个序列是否 ...

随机推荐

  1. 让你的sublime text写C代码 (sublime text 2 配置构建C开发环境)

    原则 1. 首先你要配置能够编译C++/C环境 2. window中配置该执行环境的环境变量,能够全局使用 3. sublime Text创建新的构建机制.并设置用改全局编译环境 具体过程 能够编译C ...

  2. uboot初体验-----趣谈nand设备发起的浅显理解

    1 选择Uboot版本号 2 移植uboot至console正常work 3 制造uImage和使用uboot指南 4 写NFC驱动器 5 uboot从nand启动引导系统 1 选择Uboot版本号 ...

  3. Codeforces Round #263 (Div. 2) proA

    称号: A. Appleman and Easy Task time limit per test 1 second memory limit per test 256 megabytes input ...

  4. zendframework 初始化配置

    https://framework.zend.com/manual/2.4/en/tutorials/config.advanced.html#environment-specific-system- ...

  5. Wow6432Node

    64 位版本 Windows 中的注册表分为 32 位注册表项和 64 位注册表项.许多 32 位注册表项与其相应的 64 位注册表项同名,反之亦然. 64 位版本 Windows 包含的默认 64 ...

  6. js操作select控件大全(包含新增、修改、删除、选中、清空、判断存在等)

    原文:js操作select控件大全(包含新增.修改.删除.选中.清空.判断存在等) js操作select控件大全(包含新增.修改.删除.选中.清空.判断存在等) js 代码// 1.判断select选 ...

  7. 用VS2010构建MASM的编程环境,开始使用MASM(翻译自《Inetl汇编语言程序设计》一书的作者Kip R. Irvine的文章Getting Started with MASM),两种方法搭建IA-32汇编设计环境

    http://blog.csdn.net/jinsonghu/article/details/5688020 http://blog.csdn.net/jinsonghu/article/detail ...

  8. 微信小程序实战之天气预报

    原文:微信小程序实战之天气预报 这个案例是仿UC中天气界面做的中间也有点出入,预留了显示当前城市名字和刷新图标的位置,自己可以写下,也可以添加搜索城市.值得注意的是100%这个设置好像已经不好使了,可 ...

  9. eclipse 插件编写(二)

    上篇文章简单写了下怎么新建一个eclipse插件工程,这次写一下怎么在上次的工程中添加几个菜单,如菜单栏菜单.工具栏菜单.右键菜单等. 创建一个完成的菜单需要了解三个扩展点,即menus.comman ...

  10. 【MVC 笔记】MVC 自定义 Attribute 属性中的猫腻

    原想在 MVC Action 上加一个自定义 Attribute 来做一些控制操作,最先的做法是在自定 Attribute 中定义一个属性来做逻辑判断,可惜事与愿违,这个属性值居然会被缓存起来,于是于 ...