HDU
来源:互联网 发布:北师大网络教育登录 编辑:程序博客网 时间:2024/06/01 23:00
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6206
题目大意:三个点形成圆,判断另一个点是否在圆内
解题思路:求出圆,判断点到圆心的距离和半径的关系,C++卡精度,现学Java- =
AC代码:
import java.math.*;import java.io.*;import java.util.*;public class Main{ public static void main(String[] args) { Scanner in = new Scanner(new BufferedInputStream(System.in)); int t; BigDecimal x1,y1,x2,y2,x3,y3,x4,y4,u1,u2,d11,d12,d21,d22,x,y,dis; t=in.nextInt(); for(int i=1;i<=t;++i) { x1=in.nextBigDecimal(); y1=in.nextBigDecimal(); x2=in.nextBigDecimal(); y2=in.nextBigDecimal(); x3=in.nextBigDecimal(); y3=in.nextBigDecimal(); x4=in.nextBigDecimal(); y4=in.nextBigDecimal(); u1=x2.pow(2).subtract(x1.pow(2)).add(y2.pow(2).subtract(y1.pow(2))).divide(new BigDecimal(2)); u2=x3.pow(2).subtract(x1.pow(2)).add(y3.pow(2).subtract(y1.pow(2))).divide(new BigDecimal(2)); d11=x2.subtract(x1); d12=y2.subtract(y1); d21=x3.subtract(x1); d22=y3.subtract(y1); x=u1.multiply(d22).subtract(u2.multiply(d12)).divide(d11.multiply(d22).subtract(d21.multiply(d12))); y=u2.multiply(d11).subtract(u1.multiply(d21)).divide(d11.multiply(d22).subtract(d21.multiply(d12))); dis=x.subtract(x1).pow(2).add(y.subtract(y1).pow(2)); if(dis.compareTo(x.subtract(x4).pow(2).add(y.subtract(y4).pow(2)))>=0) System.out.println("Rejected"); else System.out.println("Accepted"); } }}
阅读全文
0 0
- hdu
- hdu
- HDU
- hdu ()
- hdu
- hdu
- HDU
- HDU
- hdu
- hdu
- HDU
- Hdu
- hdu
- hdu-
- hdu
- hdu
- hdu
- HDU
- 前端面试题
- poj2374 Fence Obstacle Course(线段树+建图spfa)
- [DP] UVA11548
- C++之过载函数
- Hive之 hive-1.2.1 + hadoop 2.7.4 集群安装
- HDU
- java作业4
- YTU.1989: 打印直角三角形
- 输出连续相同的子数组
- 4865fa85d9ee28bfab97d073a3dde8a3 病毒分析
- Mac 上安装配置jdk
- 算法介绍:Dijkstra算法
- vue2 in typescript2 (3)
- 【2017 ACM/ICPC Asia Regional Qingdao Online 1008】hdu 6213 Chinese Zodiac