yechan1031   1년 전

1번부터 N번까지 N명의 사람이 원을 이루면서 앉아있고, 양의 정수 K(≤ N)가 주어진다. 이제 순서대로 K번째 사람을 제거한다. 한 사람이 제거되면 남은 사람들로 이루어진 원을 따라 이 과정을 계속해 나간다. 이 과정은 N명의 사람이 모두 제거될 때까지 계속된다. 원에서 사람들이 제거되는 순서를 (N, K)-요세푸스 순열이라고 한다. 예를 들어 (7, 3)-요세푸스 순열은 <3, 6, 2, 7, 5, 1, 4>이다.

7, 3 이면 1, 2, 3, 4, 5, 6, 7로 배열 짠거에서 k = 3번째를 계속 없애는 거라는건가요?

그럼 3이 빠지고 1, 2, 4, 5, 6, 7 3번째는 4아닌가요?

seawon0808   1년 전

원래 3이 있던 자리에서 3만큼 간 다음에 3이 빠집니다.

yechan1031   1년 전

답변 감사합니다

그런데 아직 이해가 덜 됐는데 조금만 더 자세히 설명해 주실 수 있나요?ㅠ

bamgoesn   1년 전

원형으로 시계방향으로 1~7이 놓여있다고 할 때, 맨 처음에 1부터 시작해서 시계방향으로 3까지 센 다음 거기서 3을 뺍니다. 그러면 그 다음에는 그 자리에서 그대로 시계방향으로 세 개를 더 세면 됩니다. 즉, 1 2 3 4 5 6 7에서 1 2 o 4 5 6 7이 되었으면, 3을 빼낸 자리부터 쭉 시계방향으로 세개를 더 세어서 6을 빼면 되는 겁니다. 그러고 나면 1 2 o 4 5 o 7이 될 거고, 6을 막 뺀 자리부터 세 개를 더 세면 2가 나오니 2를 빼게 되겠죠.

다른 예시로 만약 N=6, K=3이라면, 1 2 3 4 5 6에서 시작해서 맨 처음에는 3을 빼고 1 2 o 4 5 6이 됩니다. 여기서 3을 뺐으므로 그 다음 수인 4부터 세 개를 더 세어 6을 뺍니다. 1 2 o 4 5 o 그 다음엔 마지막으로 뺀 6이 있던 자리부터 시작해서 시계방향으로 세 개를 세어서 1, 2, 4 그래서 4를 뺍니다. 1 2 o o 5 6

위와 같은 방식으로 진행하면 됩니다.

yechan1031   1년 전

아 정말 감사합니다ㅠ 문제 이해 못하고 있다가 결국 포기했었는데

이제 이해가 되네요

댓글을 작성하려면 로그인해야 합니다.