아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

토지 분할

시간 제한8초메모리 제한512 MB

요약
주어진 n에 대해 한 변이 a인 정사각형 부지에 한 변이 b인 정사각형 블록 n개를 배치할 때, 50퍼센트를 넘는 죽은 공간을 최소로 하고 그다음 개발 면적을 최소로 하는 정수 a와 b를 찾는다.
난이도

보통10점 중 7점

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

문제

인디고 부동산 회사가 새 주택 단지를 개발하려 한다. 단지 전체는 한 변의 길이가 aa미터인 정사각형이다. 단지 안에는 한 변의 길이가 bb미터인 정사각형 블록이 nn개 들어간다. 여기서 aa와 bb는 모두 양의 정수이다.

그런데 이 사업에는 큰 문제가 하나 있다. 이 나라에서는 환경 보호를 명분으로 토지 분할에 비율 제한을 둔다. 단지를 개발할 때 분할된 블록의 총 넓이는 단지 넓이의 50%를 넘을 수 없다. 다시 말해 새로 개발하는 주택 단지의 50% 이상은 녹지로 남겨야 한다. 사업 입장에서 전체 넓이의 50%를 넘는 녹지는 죽은 공간이다. 이 사업의 첫 번째 목표는 죽은 공간을 최소화하는 것이다.

물론 토지를 사고 개발하는 데 드는 비용은 넓이에 비례하므로, 회사는 두 번째 목표로 개발할 토지 넓이도 최소화하려 한다. 이 사업의 구성원인 당신은 이 일을 맡았지만, 연필과 종이만으로 문제와 씨름하는 데 이제 지쳤다. 그래서 주어진 nn에 대해 죽은 공간을 최소로 만드는 (a,b)(a, b) 쌍 중 aa와 bb가 최소인 쌍을 찾는 프로그램을 작성하기로 했다.

입력

입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스는 한 줄에 정수 nn 하나로 주어진다. 1≤n≤100001 \le n \le 10000이라고 가정해도 된다.

입력의 끝은 0 하나만 있는 줄로 표시된다. 이 줄은 입력의 일부가 아니며 처리해서는 안 된다.

출력

각 테스트 케이스마다 1부터 시작하는 케이스 번호와 최소인 aa와 bb의 쌍을 예시 출력과 같은 형식으로 출력한다.

aa와 bb는 모두 64비트 부호 있는 정수 범위에 들어간다고 가정해도 된다.

예제1

  1. 예제 1

    입력
    1
    2
    0
    
    예상 출력
    Case 1: 3 2
    Case 2: 2 1