육각형

시간 제한2초메모리 제한128 MB

요약
최대 80개의 막대 길이 중 6개를 골라 모든 내각이 같은 육각형을 만들 때, 회전과 반사로 같아지는 것을 하나로 보고 서로 다른 육각형의 개수를 구합니다.
난이도

어려움10점 중 8점

유형
기하, 조합론, 수학, 완전 탐색
정답자
아직 제출이 없습니다

문제

정수 길이의 막대기가 N개 있다. 같은 길이의 막대기도 있을 수 있다. 이 중 정확히 여섯 개를 골라 어떤 순서로 이어 육각형을 만들려고 한다. 막대기 여러 개를 붙여 한 변으로 만들거나, 막대기를 잘라 더 짧은 변으로 만들 수는 없다. 만들어진 육각형의 여섯 내각은 모두 같아야 한다.

주어진 막대기들로 만들 수 있는 서로 다른 육각형의 개수를 구하라. 회전하거나 뒤집었을 때 같은 모양이 되는 육각형은 하나로 센다.

입력

첫째 줄에 막대기의 개수 N(6 ≤ N ≤ 80)이 주어진다. 둘째 줄에는 각 막대기의 길이를 나타내는 N개의 자연수가 공백으로 구분되어 주어진다. 각 길이는 1 이상 1,000,000 이하이다.

출력

조건을 만족하는 서로 다른 육각형의 개수를 출력한다.

예제2

  1. 예제 1

    입력
    15
    1 1 1 1 1 1 2 2 2 2 2 2 2 2 2
    
    예상 출력
    5
  2. 예제 2

    입력
    7
    24 13 12 7 6 5 4
    
    예상 출력
    1