프로그래밍/백준

[알고리즘] 백준 17944 파이썬 - 퐁당퐁당 1

매 석 2022. 10. 12. 15:15
반응형

문제

퐁당퐁당은 술게임 중 팀워크가 가장 중요한 MT 단골 게임이다. 매 차례마다 지정된 수의 팔을 동시에 들어야 하는데, 이를 실패하면 팔을 들어야했던 사람과 실수로 팔을 든 사람 모두 연좌제로 마셔야 하기 때문이다. 퐁당퐁당 게임의 규칙은 아래와 같다.

  1. 1번 사람부터 N번 사람까지 순서대로 총 N명의 사람들이 원 모양을 이루어 반시계방향으로 둘러앉는다. 이 때 모든 사람들은 원의 중앙을 바라보고 앉는다.
  2. 게임은 1번 사람의 왼팔부터 시작하여 원의 바깥에서 보았을 때 왼쪽에서 오른쪽으로 진행한다. 
  3. 첫 번째 차례 이후 매 차례마다 가장 오른쪽 사람이 들었던 팔의 다음 팔부터 진행하고, 순서대로 지정된 수만큼의 팔을 들어올린다.
  4. 게임을 시작할 때 들어야 하는 팔의 갯수는 1개이다. 시작하여 차례가 지날 때마다 들어야 하는팔의 개수는 1씩 증가한다.
  5. 들어야 하는 팔의 갯수가 2 × N 개가 되었다면 다음 차례부터 1씩 감소시킨다.
  6. 들어야 하는 팔의 갯수가 1개가 되었다면 다음 차례부터 다시 1씩 증가시킨다.
    즉, 매 차례에 들어야 할 팔의 갯수는 1 이상 2 × N 이하로 유지된다.

엠티에서 퐁당퐁당 게임을 하던 지원이는 게임을 못하는 친구들 때문에 술을 너무 많이 마셔서 각 차례마다 몇 개의 팔을 들어야 하는지 계산하려고 한다. 지원이가 살아남을 수 있도록 해당 차례에서 사람들이 들어야 하는 팔의 개수를 정확히 계산해보자.

문제풀이

N,T = map(int,input().split())
cnt = 0
x = 1
for i in range(T):
    cnt +=x
    if(cnt==2*N):
        x = -1
    if(cnt==1):
        x = 1
print(cnt)