[백준] 25559. 패스

newbieski·2022년 11월 17일
0

백준

목록 보기
171/210

https://www.acmicpc.net/problem/25559

문제 요약

  • 1 ~ N까지 원형으로 모여있음
  • 1번부터 패스패스 해서 한번만 패스 받도록
  • 패스는 1 ~ N 까지 가능

접근법

  • 예전에 한 번 접했던 문제 같음
  • 1이면 1출력
  • n이 있기 때문에 n이 중간에 끼면 패스를 두번 받을 것이므로 n은 처음에 있어야 할 것임
  • 마지막 사람은 sum(1~n) 만큼 이동을 한 상태이므로 sum(1~n) % n사람일 것임
  • 즉 sum(1~n) % n == 0이면 첫번째 사람은 두번 패스를 받을 것임 => -1 출력
  • 되는 경우를 만들어 보면
  • 일단 한바퀴를 돌고 시작 : n
  • n-1, 2, n-2, 4, ... 이런식으로 가면 좋겠음
  • 어떤 의미이냐하면, 1번사람을 중심으로 -1, +1, -2, +2 순서대로 하나씩 채워나가보는 것임
  • -1, +1 : n-1, 2이동 1의 위치에서 => 이때 마지막 위치는 2임
  • -2, +2 : n-3, 4이동 2의 위치에서 => 3의 위치로 이동
  • 이런식으로 구성해나가봄
profile
newbieski

0개의 댓글