1 条题解
-
0
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
- 上传者