zoukankan      html  css  js  c++  java
  • 数三角

    https://ac.nowcoder.com/acm/contest/3003/D

    牛牛得到了一个平面,这个平面上有 n 个不重合的点,第 i 个点的坐标为 (xi,yi)

    牛牛想知道,这 n 个点形成的三角形中,总共有多少个钝角三角形。

    题意:给n个点的坐标,判断有多少个钝角三角形,直接暴力每个三角形,用余弦定理判断是不是满足条件,注意三点共线的情况。

    #include <bits/stdc++.h>
    //#include <cstdio>
    //#include <cmath>
    //#include <set>
    //#include <map>
    //#include <cstring>
    //#include <iostream>
    //#include <vector>
    //#include <queue>
    //#include <stack>
    //#include <algorithm>
    //#include <iterator>
    //#include <string>
    #define inf 0x3f3f3f3f
    #define INF 0x7fffffffffffffff
    
    typedef long long ll;
    const double PI=3.1415926535897931;
    const long long mod=1e9+7;
    const int MA= 1e7+10;
    const int ma= 2*1e5+10;
    const int few=1e3+10;
    using namespace std;
    //////////////////////////////////////////////
    
    
    int main()
    {
        int  n;
        int x[ma];
        int y[ma];
        cin>>n;
        for(int i=1; i<=n; i++)
            cin>>x[i]>>y[i];
        ll ans=0;
        for(int i=1; i<=n; i++)
            for(int j=i+1; j<=n; j++)
                for(int k=j+1; k<=n; k++)
                {
                    int len1=x[j]-x[i];
                    int len2=x[k]-x[i];
                    int len3=y[j]-y[i];
                    int len4=y[k]-y[i];
                    if(len1*len4==len2*len3)
                        continue;
                    ll a,b,c;
                    a=len1*len1+len3*len3;
                    b=(len2-len1)*(len2-len1)+(len4-len3)*(len4-len3);
                    c=len2*len2+len4*len4;
                    if(a>b+c||b>a+c||c>a+b)
                        ans++;
                }
        cout<<ans<<endl;
        return 0;
    }
  • 相关阅读:
    System.Data.SQLite数据库介绍
    php 链接mssql问题 ntext不能读取
    使用NeatUpload上传文件
    js 和后台交互
    oracle学习第五天【RMAN】
    oracle学习第三天【sqlplus常用命令】
    js操作url(window.location)
    jquery资料收集【转】
    php学习3字符串
    linux read命令 小记
  • 原文地址:https://www.cnblogs.com/Aracne/p/12274289.html
Copyright © 2011-2022 走看看