• 2016HUAS暑假集训训练2 L


    题目链接:https://vjudge.net/contest/121192#problem/L

    这是一道很有意思的题,就是给定一个以原点为圆心的圆,然后给定 一个点  求最大三角的 其他的坐标 ,很容易知道这个三角形一定是等边三角形,所以圆心就是三角形的重心,刚开始用直线的方程来写,还要解一个复杂的一元二次方程,十分复杂,后来又想到一种简单的方法

    这样就可以得到一个点的坐标  又重心为圆点  则三点的横坐标之和为0 总坐标之和为0

    ac代码:

     1 import java.io.BufferedInputStream;
     2 import java.text.DecimalFormat;
     3 import java.util.Scanner;
     4 
     5 public class Main {
     6   public static void main(String[] args) {
     7       DecimalFormat format = new DecimalFormat("0.000");
     8      Scanner s = new Scanner(new BufferedInputStream(System.in));
     9     int t = s.nextInt();double x,y,x1,y1,x2,y2, c,r,a,b,d;  
    10     while(t-->0){
    11           x = s.nextDouble();y = s.nextDouble();
    12                  r=Math.sqrt(x*x+y*y);  
    13                  a=r*r;  
    14                  b=r*r*y;  
    15                  c=r*r*r*r/4-x*x*r*r;  
    16                  d=b*b-4*a*c;  
    17                  y1=(-1*b-Math.sqrt(d))/(2*a);  
    18                  y2=(-1*b+Math.sqrt(d))/(2*a);  
    19                  if(x==0)  
    20                  {  
    21                      x1=-Math.sqrt(r*r-y1*y1);  
    22                      x2=Math.sqrt(r*r-y2*y2);  
    23                  }  
    24                  else  
    25                  {  
    26                      x1=(-1*r*r/2-y*y1)/x;  
    27                      x2=(-1*r*r/2-y*y2)/x;  
    28                  }  
    29                  System.out.println(format.format(x1)+" "+format.format(y1)+" "+format.format(x2)+" "+format.format(y2));
    30              }  
    31             s.close();
    32          }
    33 }
  • 相关阅读:
    使用Link Shell Extension方便的创建同步文件
    DOM案例【3】密码强度检查案例
    DOM案例【2】注册文本倒计时
    DOM案例【1】文本时钟
    HTML5 and CSS【01】Font
    常用单词
    CSS基础【01】类和ID选择器的区别
    【03】Html重点
    【02】Html(如鹏)
    C#MD5计算代码
  • 原文地址:https://www.cnblogs.com/LIUWEI123/p/5698760.html
Copyright © 2020-2023  润新知