페이지를 불러오는 중…
해결한 사람
1
명
정답률
100.00
%
시간 제한
30000
ms
메모리 제한
1024
MB
숲속에는 수면에 백합이 몇 송이 떠 있는 깊고 마법 같은 우물이 있다. 여러분은 커다란 빈 바구니와 동전 몇 개를 가지고 우물 옆에 서 있다. 여러분은 우물에 있는 백합의 수보다 많은 동전을 가지고 있다. 우물은 여러분의 바구니가 비어 있다는 사실을 기억해 두었다.
동전 한 개를 우물에 던지면 우물은 백합 한 송이를 여러분의 바구니로 내보낸다. 동전 네 개를 한꺼번에 우물에 던지면 우물은 지금까지 여러분의 바구니로 내보낸 백합의 수를 기억해 둔다. 동전 두 개를 한꺼번에 우물에 던지면 우물은 마지막으로 기억해 둔 수만큼의 백합을 여러분의 바구니로 내보낸다. 동전 한 개 또는 동전 두 개를 한꺼번에 우물에 던졌을 때 우물에 남은 백합이 충분하지 않으면, 우물은 어떤 백합도 내보내지 않는다.
처음에 우물에 있는 백합의 수 이 주어질 때, 우물이 모든 백합을 여러분의 바구니로 내보내게 하기 위해 우물에 던져야 하는 동전의 최소 개수를 구한다.
시간 제한: 15초. 메모리 제한: 1 GB.
. .
. .
입력의 첫 번째 줄에는 테스트 케이스의 수 가 주어진다. 이어서 개의 줄이 주어진다. 각 줄에는 처음에 우물에 있는 백합의 수를 나타내는 정수 하나가 주어진다.
각 테스트 케이스마다 Case #$x$: $y$을 포함하는 한 줄을 출력한다. 여기서 는 테스트 케이스 번호이며(1부터 시작), 는 우물이 송이의 백합을 모두 여러분의 바구니로 내보내게 하기 위해 우물에 던져야 하는 동전의 최소 개수이다.
2
5
20
Case #1: 5
Case #2: 15
테스트 케이스 #1에서 우물에 송이의 백합이 있을 때 필요한 동전의 최소 개수는 개이다. 동전을 한 번에 한 개씩 우물에 던지면 우물은 송이의 백합을 한 번에 한 송이씩 바구니로 내보낸다. 이보다 더 나은 답을 얻는 다른 행동 순서는 없으므로 답은 이다.
테스트 케이스 #2에서는 먼저 동전 개를 한 번에 한 개씩 우물에 던지고, 우물은 백합 송이를 한 번에 한 송이씩 바구니로 내보낸다. 다음으로 동전 개를 한꺼번에 우물에 던지면, 우물은 지금까지 바구니로 백합 송이를 내보냈다는 것을 기억해 둔다. 그런 다음 동전 개를 한꺼번에 우물에 던지면 우물은 기억해 둔 수인 백합 송이를 바구니로 내보낸다. 그다음 동전 개를 다시 한꺼번에 우물에 던지면 우물은 백합 송이를 추가로 바구니로 내보낸다. 마지막으로 동전 개를 다시 한꺼번에 우물에 던지면 우물은 남은 백합 송이를 바구니로 내보낸다. 필요한 동전의 총개수는 개이다. 송이의 백합을 이보다 적은 수의 동전으로 우물에서 꺼내는 것은 불가능하므로 답은 이다.
Copyright Google LLC; sourced from the Google Coding Competitions Archive.
로그인 상태를 확인하는 중입니다.