zoukankan      html  css  js  c++  java
  • Codeforces Round #432 B

    Arpa and an exam about geometry

    题意:a b c3个点在二维平面上构成一个三角形,问是否存在一个点,使得三角形绕点旋转一定角度后可以使得a到b,b到c的位置上

    思路:易得,所求的点一定是abc三点共圆的圆心,且ab,bc所对的圆心角相等,即ab=bc,且abc不共线

    AC代码:

    #include "iostream"
    #include "iomanip"
    #include "string.h"
    #include "time.h"
    #include "stack"
    #include "queue"
    #include "string"
    #include "vector"
    #include "set"
    #include "map"
    #include "algorithm"
    #include "stdio.h"
    #include "math.h"
    #pragma comment(linker, "/STACK:102400000,102400000")
    #define bug(x) cout<<x<<" "<<"UUUUU"<<endl;
    #define mem(a,x) memset(a,x,sizeof(a))
    #define step(x) fixed<< setprecision(x)<<
    #define mp(x,y) make_pair(x,y)
    #define pb(x) push_back(x)
    #define ll long long
    #define endl ("
    ")
    #define ft first
    #define sd second 1
    #define lrt (rt<<1)
    #define rrt (rt<<1|1)
    using namespace std;
    const ll mod=1e9+7;
    const ll INF = 1e18+1LL;
    const int inf = 1e9+1e8;
    const double PI=acos(-1.0);
    const int N=1e3+100;
    
    int main(){
        ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
        ll a1,a2,b1,b2,c1,c2;
        cin>>a1>>a2>>b1>>b2>>c1>>c2;
        ll ab=(b1-a1)*(b1-a1)+(b2-a2)*(b2-a2);
        ll bc=(c1-b1)*(c1-b1)+(c2-b2)*(c2-b2);
        if(ab!=bc){
            cout<<"No";
            return 0;
        }
        else{
            ll k1,k2;
            k1=(b2-a2)*(c1-b1);
            k2=(c2-b2)*(b1-a1);
            if(k1==k2) cout<<"No";
            else cout<<"Yes";
        }
        return 0;
    }
  • 相关阅读:
    Day 43
    Day 42
    Day 41
    Day 40
    Linux下查看服务器的产品型号和序列号
    AgileController Portal认证成功后弹出找不到指定位置的资源
    华三交换机snmp开通
    FusionCompute 6.3.0 CNA系统安装
    集群IMC策略
    静态路由配置语法
  • 原文地址:https://www.cnblogs.com/max88888888/p/7481846.html
Copyright © 2011-2022 走看看