1 条题解

  • 0
    @ 2025-4-12 21:41:02

    C++ :

    #include <cmath>
    #include <cstdio>
    #include <cstring>
    using namespace std;
    
    double dis(double a, double b, double c, double d) {
      return sqrt((a - c) * (a - c) + (b - d) * (b - d));
    }
    int main() {
    	//freopen("Problem2.in", "r", stdin);
    	//freopen("Problem2.out", "w", stdout);
      double x1, x2, x3, y1, y2, y3;
      double d1, d2, d3, r1, r2, r3;
      while (scanf("%lf %lf %lf %lf %lf %lf", &x1, &y1, &x2, &y2, &x3, &y3) !=
             EOF) {
        d1 = dis(x1, y1, x2, y2);
        d2 = dis(x2, y2, x3, y3);
        d3 = dis(x1, y1, x3, y3);
        r1 = (d3 + d1 - d2) / 2;
        r2 = (d1 + d2 - d3) / 2;
        r3 = (d2 + d3 - d1) / 2;
        printf("%.0lf\n", r1);
        printf("%.0lf\n", r2);
        printf("%.0lf\n", r3);
      }
      return 0;
    }
    

    Java :

    import java.io.*;
    import java.util.*;
    
    public class Main{
     final static Scanner jin=new Scanner(System.in);
      public static void main(String args[]){
        while(jin.hasNextInt()){
          int ax=jin.nextInt(); 
          int ay=jin.nextInt();
          int bx=jin.nextInt();
          int by=jin.nextInt();
          int cx=jin.nextInt();
          int cy=jin.nextInt();
          double ab=Math.sqrt((ax-bx)*(ax-bx)+(ay-by)*(ay-by));
          double bc=Math.sqrt((cx-bx)*(cx-bx)+(cy-by)*(cy-by));
          double ca=Math.sqrt((ax-cx)*(ax-cx)+(ay-cy)*(ay-cy));
          System.out.println((int)((ab+ca-bc)/2));
          System.out.println((int)((ab+bc-ca)/2));
          System.out.println((int)((bc+ca-ab)/2));
        }
      }
    }
    
    • 1

    信息

    ID
    1031
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者