[C++] 백준 16480번 외심과 내심은 사랑입니다

백준 16480번 외심과 내심은 사랑입니다

문제

https://www.acmicpc.net/problem/16480 BOJ16480

풀이

삼각형 ABC에서 외심 R과 내심 r 이 존재할 때, (외심과 내심 사이 직선거리^2)을 구하는 문제

이는 오일러 삼각형 정리 (Euler’s triangle theorem) 를 구현하는 문제이다.

https://ko.wikipedia.org/wiki/%EC%98%A4%EC%9D%BC%EB%9F%AC_%EC%82%BC%EA%B0%81%ED%98%95_%EC%A0%95%EB%A6%AC

오일러 삼각형 정리에서 외심과 내심 사이의 거리의 제곱은 R(R-2r)이다.

코드

#pragma warning(disable : 4996)
#include <bits/stdc++.h>
#define all(x) (x).begin(), (x).end()
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef long double ld;
typedef pair<ll, ll> pll;
typedef pair<ld, ld> pld;
// https://www.acmicpc.net/problem/16480
int main(){
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    ll R,r;
    cin >> R >> r;
    // https://en.wikipedia.org/wiki/Euler%27s_theorem_in_geometry
    cout << (R*R) - (2*R*r);


	return 0;
}