zoukankan      html  css  js  c++  java
  • Hello World

    #include <bits/stdc++.h>
    
    using namespace std;
    
    class point
    {
    public:
        int x, y, z;
    
        point(int x = 0, int y = 0, int z = 0): x(x), y(y), z(z)
        {
        }
    
        point operator - (const point &b) const
        {
            return point(x - b.x, y - b.y, z - b.z);
        }
    
        int operator * (const point &b) const
        {
            return x * b.x + y * b.y + z * b.z;
        }
    
        int sqr()
        {
            return *this * *this;
        }
    
        double len()
        {
            return sqrt(sqr());
        }
    };
    
    long long sqr(int x)
    {
        return (long long) x * x;
    }
    
    int main()
    {
    
        cout.setf(ios::fixed);
        cout.precision(10);
        int tt;
        cin >> tt;
        while (tt--)
        {
            point o, a, b;
            int r;
            cin >> o.x >> o.y >> o.z >> r;
            cin >> a.x >> a.y >> a.z;
            cin >> b.x >> b.y >> b.z;
            if ((a - b).sqr() == 0 || (o - a) * (b - a) <= 0 || (o - b) * (a - b) <= 0)
            {
                cout << (a - b).len() << "
    ";
            }
            else
            {
                double h = sqrt((o - a).sqr() - (double) sqr((o - a) * (b - a)) / (a - b).sqr());
                if (r <= h)
                {
                    cout << (a - b).len() << "
    ";
                }
                else
                {
                    double go_a = sqrt((o - a).sqr() - sqr(r));
                    double go_b = sqrt((o - b).sqr() - sqr(r));
                    double angle = atan2(sqrt((o - a).sqr() - h * h), h) + atan2(sqrt((o - b).sqr() - h * h), h) - atan2(go_a, r) - atan2(go_b, r);
                    cout << angle * r + go_a + go_b << "
    ";
                }
            }
        }
        return 0;
    }
  • 相关阅读:
    正反向代理工具squid
    docker安装jira
    pandas输出的数据集导入数据库
    python监控接口告警模板
    Auth认证
    Form与ModelForm的 使用
    原生Ajax与jQuery的Ajax和伪Ajax
    Django缓存与信号
    Django的生命周期与中间件的流程
    CSRF的原理和基本使用
  • 原文地址:https://www.cnblogs.com/Agnel-Cynthia/p/10262101.html
Copyright © 2011-2022 走看看