관리 메뉴

cococo-coding

3049번. 다각형의 대각선 (c++ 풀이) 본문

[BOJ] 코드 모음/C++_learning 문제집

3049번. 다각형의 대각선 (c++ 풀이)

_dani 2024. 1. 10. 14:36

문제

풀이

구글링을 해서 공식을 찾았다.

교차점이 생기기 위해서는 두 개의 대각선이 만나야 하고, 하나의 대각선은 두 개의 꼭짓점을 연결한 선분이므로

두 개의 대각선은 총 4개의 꼭짓점으로 생성된다.

그러므로 교차점의 총 개수는 n개의 꼭짓점 중에 4개를 선택하면 된다.

공식으로는 nC4이다.

 

코드

#include <iostream>
using namespace std;

/*
    1. n을 입력받는다.
    2. 교차점의 개수를 계산한다.
    3. 교차점의 개수를 출력한다.

*/
int main() {
    //1
    int n;
    cin >> n;

    //2
    int cross = (n * (n - 1) * (n - 2) * (n - 3)) / 24;

    //3
    cout << cross;

    return 0;
}