파일 업로드

소방 훈련 게임

profile
실행 시간 제한메모리 제한
1 초128 MB
📃 해결할 문제

N (3 <= N <= 250) 명의 학생들이 (티셔츠에 student_1..student_N 라고 번호가 쓰여 있음) 화려한 캠프아이어 주변에 완벽한 원형으로 앉아있습니다. 

각 학생은 chair_1..chair_N 까지 번호가 매겨진 의자에 앉아있으며 (당연히 자신의 번호가 쓰여진 의자에 앉아있습니다. student_i는 chair_i 에 앉습니다). 선생님은 학생들에게 소방 훈련 게임을 해보자고 제안했습니다.

소방 훈련 게임에서는 한 번에 한 학생이 자신의 의자에서 새로운 의자가 있는 곳으로 원을 돌며 걸어가는 동안 다른 학생들은 "불이야,불이야,불이야"를 외칩니다. 

student_i의 차례가 되면 그는 일어나서 i 번째 의자로 시계 방향으로 이동합니다 (그래서 student_3 의 순서가 되면, 그녀는 chair_3 에서 일어나 N >= 6 이면, chair_6 로 이동합니다).

student_i 가 새로운 의자에 도착하면, 그녀는 그 의자에 앉아있는 다른 학생의 어깨를 툭툭 칩니다. 그 학생이 일어나면 student_i가 앉습니다. 

이 과정은 빈 의자에 학생이 도착하거나, 학생이 두 번 움직이여야 할 때까지 계속됩니다. 생각보다 게임이 금방 종료되어 전체 학생이 참여하는 경우는 거의 없습니다. student_1이 항상 게임을 시작하기 때문에, 그녀의 의자가 빈 의자가 됩니다.

마지막으로 이동한 학생 (그녀가 student_1의 의자에 앉아 게임을 끝내거나, 이미 움직인 학생의 어깨를 두드리는 경우)는 특별한 상을 받게 됩니다.

어떤 학생이 상을 받게 될지 맞춰 보세요.

 

예를 들어, 다음과 같이 캠프 파이어에 앉아 있는 다섯 명의 학생을 생각해봅시다:

  2   -   3
 (         )
  1 - 5 - 4

먼저, student 1이 한 칸 걸어가서 student 2를 찌르고, student 2는 일어나게 됩니다 ( *는 빈 의자를 나타냅니다).

    2
 1   -   3
 (         )
  * - 5 - 4

student 2가 두 칸 걸어가서 student 4를 찌르고, 그녀는 원을 따라 걸어갑니다:

  1  -    3
 (         )
  * -  5 - 2
          4

student 4는 네 칸을 걸어가서 student 3를 찌를 것입니다:

             3
  1   -    4  
 (         )
  * -  5 - 2

마침내, student 3는 세 칸을 걸어가서 chair_1으로 가는데, 이 의자는 비어있어서 훈련이 끝나게 됩니다.

  1   -    4  
 (         )
  3 -  5 - 2

student 3이 상을 받게 됩니다.

💻 입력
  • 첫 번째 줄 : 하나의 정수: N
🖨️ 출력
  • 첫 번째 줄 : 소방 훈련 게임을 마지막으로 끝내는 학생의 번호

💻 예제 입력 1
5
🖨️ 예제 출력 1
3

출처: USACO 2011 US Open Bronze 1