zoukankan      html  css  js  c++  java
  • 内心里的一把火(计算几何(海伦公式))

    链接:https://ac.nowcoder.com/acm/contest/289/D
    来源:牛客网
     

    时间限制:C/C++ 1秒,其他语言2秒
    空间限制:C/C++ 131072K,其他语言262144K
    64bit IO Format: %lld

    题目描述

    小明在上学的路上,看到了小花,小花也看见了他,两个人深情的对视了一下,然后小花就对小明说:你爱过我吗?小明说:爱过。小花就对小明说,那你能帮我做一个题目吗?如果你能做对的话,就证明你爱过我。小明自信的回答好啊。小花说,给你三个人的坐标,以及小花的坐标,她想知道她是不是处在他们三个人的范围之内。小明顿时慌了,早知道我就不说了,他赶紧找到了acmer来帮他解决了。

    image.png

    输入描述:

    多组输入,输入A,B,C的坐标(x1,y1,x2,y2,x3,y3),以及小花的坐标(x,y)。(范围都是在0到100之内的整数)

    输出描述:

    是的话就输出YES,否则输出NO

    示例1

    输入

    复制

    0 0 3 0 0 4
    1 1

    输出

    复制

    YES
    

    如果在三角形的内部,三个的面积一定等于大的,在外面的话一定大于大的面积,因为精度的原因,YES的范围是小于等于大的面积

    代码:

    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    #include<iostream>
    #include<cmath>
    
    using namespace std;
    
    int main()
    {
    	int x1,y1,x2,y2,x3,y3;
    	int x,y;
    	while(scanf("%d%d%d%d%d%d",&x1,&y1,&x2,&y2,&x3,&y3)!=EOF)
    	{
    		cin>>x>>y;
    		double a=sqrt(pow(x1-x2,2)+pow(y1-y2,2)); 
    	    double b=sqrt(pow(x3-x2,2)+pow(y3-y2,2));
    	    double c=sqrt(pow(x1-x3,2)+pow(y1-y3,2));
    	    double p=(a+b+c)/2;
    	    double a1=sqrt(pow(x1-x,2)+pow(y1-y,2));
    	    double b1=sqrt(pow(x2-x,2)+pow(y2-y,2));
    	    double c1=sqrt(pow(x3-x,2)+pow(y3-y,2));
    //	    cout<<a1<<" "<<b1<<" "<<c1<<endl;
    	    
    	    double p1=(a+a1+b1)/2;
    	    double p2=(b+b1+c1)/2;
    	    double p3=(c+a1+c1)/2;
    	    double SABC=sqrt(p*(p-a)*(p-b)*(p-c));
    	    double SABP=sqrt(p1*(p1-a)*(p1-a1)*(p1-b1));
    	    double SBPC=sqrt(p2*(p2-b)*(p2-b1)*(p2-c1));
    	    double SAPC=sqrt(p3*(p3-c)*(p3-a1)*(p3-c1));
    	   
    	    long long int S1=SABC*1000000;
    	    long long int S2=SABP*1000000;
    	    long long int S3=SBPC*1000000;
    	    long long int S4=SAPC*1000000;
    	    //cout<<S1<<" "<<S2<<" "<<S3<<" "<<S4<<endl;
    	    if(S1>=S2+S3+S4)
    	    {
    	    	cout<<"YES"<<endl;
    		}
    		else
    		{
    			cout<<"NO"<<endl;
    		}
        }
    	return 0;
    }
  • 相关阅读:
    hiveserver2 with kerberos authentication
    python Basic usage
    python Quicksort demo
    Python HeapSort
    mrunit for wordcount demo
    CCDH证书
    Hadoop question list
    Hadoop Yarn core concepts
    Hadoop Resource
    Hadoop could not find or load main class
  • 原文地址:https://www.cnblogs.com/Staceyacm/p/10781867.html
Copyright © 2011-2022 走看看