zoukankan      html  css  js  c++  java
  • 计算几何

    #include <bits/stdc++.h>
    #pragma GCC diagnostic error "-std=c++11"
    #define SIS std::ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)
    //#define endl '
    '
    #define all(A) (A).begin(),(A).end()
    #define FOR(I, A, B) for (int I = (A); I <= (B); ++I)
    #define PER(I, A, B) for (int I = (A); I >= (B); --I)
    #define lson k*2
    #define rson k*2+1
    #define fi first
    #define se second
    #define DB(A) cout<<(A)<<endl
    #define DB1(A,B,C) cout<<(A)<<" "<<(B)<<" "<<(C)<<"!"<<endl
    #define PB push_back
    #define Pair pair<int,int>
    #define MP make_pair
    #define LL long long
    using namespace std;
    const int maxn=1000+10;
    const int MAX=1000;
    const int inf=0x3f3f3f3f;   
    const int mod=1e9+7;
    const double eps=1e-10;
    const double pi=acos(-1);
    //head
    int n,m;
    struct node
    {
    	int x,y;
    };
    double dis(node a,node b)
    {
    	return sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));
    }
    double cross(node a,node b,node c,node d)
    {
    	return (b.x-a.x)*(d.y-c.y)-(b.y-a.y)*(d.x-c.x);
    }
    void solve()
    {
    	node na,nb,nc;
    	cin>>na.x>>na.y>>nb.x>>nb.y>>nc.x>>nc.y;
    	 
    	double l1=dis(na,nb);
    	double l2=dis(nb,nc);
    	double l3=dis(na,nc);
    	double s=cross(na,nb,na,nc);
    	s=fabs(s);
    	if (s<eps)
    	{
    		printf("NO SOLUTION
    ");
    		return;		
    	}
    	double r=s/(l1+l2+l3);
    	double sinn=(s)/(l3*l2);
    	double R=l1/sinn/2;
    	printf("%.10lf %.10lf
    ",r*r*pi,R*R*pi);
    }
    signed main()
    {
    	int T;
    	cin>>T;
    	while (T--)
    	{
    		solve();
    	}
    
    }
    
  • 相关阅读:
    day2
    day1
    ORM基本增删改查
    ORM
    url路由
    模板语言、url
    views视图
    django基本过程
    django基础
    Web框架
  • 原文地址:https://www.cnblogs.com/reshuffle/p/12639817.html
Copyright © 2011-2022 走看看