페이지를 불러오는 중…
해결한 사람
1
명
정답률
100.00
%
시간 제한
30000
ms
메모리 제한
1024
MB
매일 아침 점진적 팬케이크 하우스에서는 주방 직원들이 그날 판매할 팬케이크를 모두 준비하여 두 더미로 쌓는다. 처음에 왼쪽 더미에는 L개의 팬케이크가 있고, 오른쪽 더미에는 R개의 팬케이크가 있다.
이 식당의 손님들은 매우 일관되게 행동한다. 1부터 세었을 때 i번째로 도착한 손님은 항상 i개의 팬케이크를 주문한다. i번째 손님이 i개의 팬케이크를 주문하면, 남아 있는 팬케이크가 가장 많은 더미에서 i개의 팬케이크를 가져온다. 단, 두 더미의 양이 같으면 왼쪽 더미에서 가져온다. 어느 더미에도 팬케이크가 적어도 i개 있지 않으면 식당은 문을 닫고, i번째 손님은 팬케이크를 전혀 받지 못한다. 두 더미의 팬케이크를 함께 사용하여 하나의 주문을 처리하는 일은 없다.
각 더미에 처음 들어 있는 팬케이크의 수가 주어질 때, 몇 명의 손님에게 팬케이크를 제공할 수 있는지와 식당이 문을 닫을 때 각 더미에 팬케이크가 몇 개 남는지를 구한다.
시간 제한: 테스트 세트당 20초. 메모리 제한: 1GB. 1 ≤ T ≤ 1000.
1 ≤ L ≤ 1000. 1 ≤ R ≤ 1000.
1 ≤ L ≤ . 1 ≤ R ≤ .
입력의 첫 줄에는 테스트 케이스의 수 T가 주어진다. 이어서 T개의 테스트 케이스가 주어진다. 각 테스트 케이스는 두 정수 L과 R이 포함된 한 줄로 이루어지며, 이들은 각각 위에서 설명한 왼쪽 더미와 오른쪽 더미에 처음 들어 있는 팬케이크의 수이다.
각 테스트 케이스마다 Case #x: n l r을 포함하는 한 줄을 출력한다. 여기서 x은 1부터 시작하는 테스트 케이스 번호이고, n은 팬케이크를 제공받는 손님의 수이며, l과 r는 각각 식당이 문을 닫을 때 왼쪽 더미와 오른쪽 더미에 남아 있는 팬케이크의 수이다.
3
1 2
2 2
8 11
Case #1: 1 1 1
Case #2: 2 1 0
Case #3: 5 0 4
예제 케이스 #1에서 첫 번째 손님은 오른쪽 더미에서 팬케이크 1개를 받아, 각 더미에 팬케이크가 1개씩 남는다. 두 번째 손님은 팬케이크 2개를 원하지만, 전체로는 팬케이크가 2개 있음에도 어느 더미에도 그 손님에게 줄 만큼 충분한 팬케이크가 없다.
예제 케이스 #2에서 두 더미의 양이 같으므로 첫 번째 손님은 왼쪽 더미에서 팬케이크 1개를 받는다. 그 결과 왼쪽 더미에는 팬케이크가 1개, 오른쪽 더미에는 2개 남는다. 두 번째 손님은 팬케이크 2개를 원하며, 오른쪽 더미에서 이를 제공하여 그 더미를 비운다. 세 번째 손님이 도착했을 때는 어느 더미에도 팬케이크가 3개 있지 않으므로 더 이상 주문을 처리할 수 없다.
예제 케이스 #3에서 첫 번째 손님은 오른쪽 더미에서 팬케이크를 받아, 왼쪽 더미에 팬케이크가 8개, 오른쪽 더미에 10개 남는다. 두 번째 손님도 오른쪽 더미에서 팬케이크를 받아, 각 더미에 팬케이크가 8개씩 남는다. 세 번째 손님은 왼쪽 더미에서 팬케이크를 받아, 그곳에는 팬케이크가 5개, 오른쪽 더미에는 8개 남는다. 이어서 네 번째 손님은 오른쪽 더미에서 팬케이크를 받아, 그곳에 팬케이크가 4개 남는다. 다섯 번째 손님에게 팬케이크를 제공하면 왼쪽 더미가 비고, 그 뒤에는 여섯 번째 손님에게 제공할 만큼 충분한 팬케이크가 어느 더미에도 남아 있지 않다.
Copyright Google LLC; sourced from the Google Coding Competitions Archive.
로그인 상태를 확인하는 중입니다.