백준 문제풀이

[백준(BOJ)/C++] 3049번: 다각형의 대각선 - 코딩밥상

코딩밥상 2022. 8. 2. 15:53

https://www.acmicpc.net/problem/3049

 

3049번: 다각형의 대각선

세 대각선이 한 점에서 만나지 않는 볼록 N각형이 주어졌을 때, 대각선의 교차점의 개수를 세는 프로그램을 작성하시오. 아래 그림은 위의 조건을 만족하는 한 육각형의 교차점 그림이다. 모든

www.acmicpc.net

 

 

  • 접근 방법

도형의 구성 요소의 개수를 세는 문제는 보통 서로간의 연관성에서 얻을 수 있다. 이는 보통 중학교 수학에서 배웠던 내용들이라 큰 어려움은 없을것이다.

다음 문제에서는 n각형 즉 꼭지점의 개수를 알려주었기 때문에 꼭지점과 문제에서 요구하는 답을 연관지어 생각하면 될것이다.

 

 

 

 

  • 논리 흐름(알고리즘)

문제에서 요구하는 답은 꼭지점을 이어 만든 대각선들이 만나 생기는 교차점의 개수이다.

이를 연관지어 생각하면,

교차점이 생기려면 대각선이 두 개 필요하고

대각선은 꼭지점이 두 개 필요하다

따라서 교차점이 하나 생기려면 꼭지점이 4개 필요하다.

따라서 답은 n각형의 도형에서 4개의 꼭지점을 선택하면 된다.

여기서 꼭지점의 순서는 필요없기 때문에 nC4가 답이된다.