시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
1 초 | 128 MB | 46 | 21 | 12 | 57.143% |
강산이는 단위 정사각형 타일(가로 세로 길이가 1인 정사각형 타일)을 좋아한다. 하지만, 좋아하는 도형은 직사각형이다. 강산이는 모든 타일을 남김없이 배치해서 직사각형을 만들고 한다. 이때, 서로 다른 직사각형 종류를 몇 가지나 만들 수 있을까?
예를 들어, 단위 정사각형 타일을 6개 가지고 있을 때, 두 종류의 직사각형 1x6 직사각형과 2x3 직사각형(6x1은 1x6과 같고, 2x3은 3x2와 같은 것으로 친다)을 만들 수 잇다. 또한, 4개 가지고 있을 때는 1x4와 2x2, 총 두 종류를 만들 수 있다. (정사각형도 직사각형에 포함되기 때문)
N이 주어졌을 때, 서로 다른 직사각형 정확히 N종류를 만들기 위해 필요한 단위 정사각형 타일의 개수의 최솟값을 구하는 프로그램을 작성하시오. 만약 N=2인 경우 답은 4이다.
입력은 여러 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄에 하나씩 N(1 ≤ N ≤ 75)이 주어진다. 입력의 마지막 줄에는 0이 하나 주어진다.
각 테스트 케이스에 대해서, 정확히 N종류의 서로 다른 직사각형을 만들기 위해서 필요한 단위 정사각형 타일의 개수를 출력한다. 반드시 모든 정사각형 타일을 이용해야 하고, N개보다 더 만들 수 있으면 안 된다. 답은 항상 1018을 넘지 않는다.
2 16 19 0
4 840 786432
ICPC > Regionals > North America > Southeast USA Regional > 2011 Southeast USA Regional Programming Contest C번