HDU-2017 ACM/ICPC Asia Regional Qingdao Online-1001-Apple
来源:互联网 发布:空间网络音乐怎么删除 编辑:程序博客网 时间:2024/05/17 02:41
ACM模版
描述
题解
计算几何 + 大浮点数……很恶心啊……用
给定三个点,然后判断第四点是否在这三个点的外接圆内。
代码
import java.math.BigDecimal;import java.util.Scanner;class Util { public static BigDecimal calR(Dot a, Dot b) { return a.x.subtract(b.x).multiply(a.x.subtract(b.x)).add(a.y.subtract(b.y).multiply(a.y.subtract(b.y))); }}class Dot { public BigDecimal x, y; public Dot() { } public Dot(BigDecimal x, BigDecimal y) { this.x = x; this.y = y; }}public class Main { private static Scanner sc; public static void main(String[] args) { sc = new Scanner(System.in); BigDecimal two = new BigDecimal("2.00000"); Dot dot1 = new Dot(); Dot dot2 = new Dot(); Dot dot3 = new Dot(); Dot dot4 = new Dot(); int T = sc.nextInt(); for (int cnt = 1; cnt <= T; cnt++) { dot1.x = sc.nextBigDecimal(); dot1.y = sc.nextBigDecimal(); dot2.x = sc.nextBigDecimal(); dot2.y = sc.nextBigDecimal(); dot3.x = sc.nextBigDecimal(); dot3.y = sc.nextBigDecimal(); dot4.x = sc.nextBigDecimal(); dot4.y = sc.nextBigDecimal(); BigDecimal a = dot3.x.subtract(dot2.x).multiply(two); BigDecimal b = dot3.y.subtract(dot2.y).multiply(two); BigDecimal c = dot3.x.multiply(dot3.x).subtract(dot2.x.multiply(dot2.x)).add(dot3.y.multiply(dot3.y)) .subtract(dot2.y.multiply(dot2.y)); BigDecimal e = dot2.x.subtract(dot1.x).multiply(two); BigDecimal f = dot2.y.subtract(dot1.y).multiply(two); BigDecimal g = dot2.x.multiply(dot2.x).subtract(dot1.x.multiply(dot1.x)).add(dot2.y.multiply(dot2.y)) .subtract(dot1.y.multiply(dot1.y)); BigDecimal X = g.multiply(b).subtract(c.multiply(f)).divide(e.multiply(b).subtract(a.multiply(f))); BigDecimal Y = a.multiply(g).subtract(c.multiply(e)).divide(a.multiply(f).subtract(b.multiply(e))); Dot cir = new Dot(X, Y); BigDecimal r = Util.calR(cir, dot1); BigDecimal dis = Util.calR(cir, dot4); if (dis.compareTo(r) > 0) { System.out.println("Accepted"); } else { System.out.println("Rejected"); } } }}
阅读全文
0 0
- HDU-2017 ACM/ICPC Asia Regional Qingdao Online-1001-Apple
- 2017 ACM/ICPC Asia Regional Qingdao Online:1001 Apple
- HDu 6216 && 2017 ACM/ICPC Asia Regional Qingdao Online 1011
- HDU-2017 ACM/ICPC Asia Regional Qingdao Online-补题
- 2017 ACM/ICPC Asia Regional Qingdao Online
- 2017 ACM/ICPC Asia Regional Qingdao Online
- 2017 ACM/ICPC Asia Regional Qingdao Online
- 2017 ACM/ICPC Asia Regional Qingdao Online
- 2017 ACM/ICPC Asia Regional Qingdao Online 1001/HDUOJ 6206 Apple
- 2017 ACM/ICPC Asia Regional Qingdao Online:1001:Apple(几何+JAVA大数)
- HDU 5879 Cure 2016 ACM/ICPC Asia Regional Qingdao Online
- HDU 5884 Sort 2016 ACM/ICPC Asia Regional Qingdao Online
- HDU 5878 -- 丑数打表(2016 ACM/ICPC Asia Regional Qingdao Online)
- HDU 5878 -- 丑数打表(2016 ACM/ICPC Asia Regional Qingdao Online)
- 【2016 ACM/ICPC Asia Regional Qingdao Online】
- 2016 ACM/ICPC Asia Regional Qingdao Online
- 2016 ACM/ICPC Asia Regional Qingdao Online
- 2016 ACM/ICPC Asia Regional Qingdao Online 1001
- Atom的使用技巧
- Linux下安装mysql 出现依赖包冲突解决方法
- NLog类库小结
- 第一次用git
- leetcode 324. Wiggle Sort II
- HDU-2017 ACM/ICPC Asia Regional Qingdao Online-1001-Apple
- eclipse中java代码的审查和格式校验插件
- 自己实现一个SQL解析引擎 功能:将用户输入的SQL语句序列转换为一个可执行的操作序列,并返回查询的结果集。 SQL的解析引擎包括查询编译与查询优化和查询的运行,主要包括3个步骤: 查询分析
- 迷茫中 我走上hadoop之路
- 【9月18日】面向学术文献的知识挖掘方法研究
- leetcode
- MapReduce架构
- 浅谈最小生成树什么的
- laravel基础教程