1 条题解

  • 0
    @ 2025-4-12 21:50:59

    C :

    #include<stdio.h>
    #include<math.h>
    float dist(int xa,int ya,int xb,int yb){
    	return(float)sqrt((xa-xb)*(xa-xb)+(ya-yb)*(ya-yb));
    }
    float zhou(float a,float b,float c)
    {
        return(a+b+c);
    }
    int main()
    {
    	int x1,y1,x2,y2,x3,y3,n;
    	float C,a,b,c;
    	scanf("%d",&n);
    	while(n--){
    	scanf("%d%d%d%d%d%d",&x1,&y1,&x2,&y2,&x3,&y3);
    	a=dist(x1,y1,x2,y2);
    	b=dist(x2,y2,x3,y3);
    	c=dist(x3,y3,x1,y1);
    	if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a)
    		printf("Yes\n");
        else
            printf("No\n");
    	C=zhou(a,b,c);
        printf("%.2f\n",C);
    	}
    }
    

    C++ :

    #include <stdio.h>
    #include <math.h>
    #include <algorithm>
    using namespace std;
    
    class CPoint
    {
        int x, y;
    public:
        CPoint(int xx,int yy)
        {
            x=xx;
            y=yy;
        }
        float operator- (CPoint c);
    };
    
    float CPoint::operator- (CPoint c)
    {
        return sqrt((x-c.x)*(x-c.x)+(y-c.y)*(y-c.y));
    }
    
    class CTriangle
    {
        CPoint A,B,C;
        double AB,BC,AC;
    public:
        CTriangle(CPoint a,CPoint b,CPoint c):A(a),B(b),C(c)
        {
            AB=A-B;
            BC=B-C;
            AC=A-C;
        }
        double length();
        bool fun();
    };
    
    bool CTriangle::fun()
    {
        double a=AB,b=BC,c=AC,t;
        if(fabs(b*b+a*a-c*c)<1e-6) return true;
        if(fabs(c*c+a*a-b*b)<1e-6) return true;
        if(fabs(b*b+c*c-a*a)<1e-6) return true;
        return false;
    }
    
    double CTriangle::length()
    {
        return AB+BC+AC;
    }
    
    int main()
    {
        //freopen("test.in", "r", stdin);
        //freopen("test.out", "w", stdout);
        int t;
        int ax, ay, bx, by, cx, cy;
        scanf("%d", &t);
        while (t--) {
            scanf("%d %d %d %d %d %d", &ax, &ay, &bx, &by, &cx, &cy);
            CPoint a(ax,ay),b(bx,by),c(cx,cy);
            CTriangle g(a, b, c);
            if (g.fun())
                puts("Yes");
            else
                puts("No");
            printf("%.2f\n", g.length());
        }
        return 0;
    }
    
    

    Java :

    
    
    import java.text.DecimalFormat;
    import java.util.Scanner;
    
    public class Main{
        private static Scanner s = new Scanner (System.in) ;
        private static DecimalFormat df = new DecimalFormat("0.00") ;
        public static void main(String[] args) {
    		int t = s.nextInt() ;
    		
    		for (int i = 0; i < t; i++) {
    			int x1 = s.nextInt() ;
    			int y1 = s.nextInt() ;
    			int x2 = s.nextInt() ;
    			int y2 = s.nextInt() ;
    			int x3 = s.nextInt() ;
    			int y3 = s.nextInt() ;
    			int r1 = (x1-x2)*(x1-x2)+(y1-y2)*(y1-y2) ;
    			int r2 = (x1-x3)*(x1-x3)+(y1-y3)*(y1-y3) ;
    			int r3 = (x3-x2)*(x3-x2)+(y3-y2)*(y3-y2) ;
    			if((x1-x2)*(y2-y3)==(y1-y2)*(x2-x3)){
    				System.out.println("No");
    			}else {
    			if(((r1+r2)==(r3))||((r1+r3)==(r1))||((r3+r2)==(r1))){
    				System.out.println("Yes");
    				
    			}else {
    				System.out.println("No");
    			}
    			}
    			System.out.println(df.format(Math.sqrt(r1)+Math.sqrt(r2)+Math.sqrt(r3)));
    		}
    	}
    }
    
    
    • 1

    信息

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