카테고리 없음

[백준 1158번 / C++ / Silver V] 요세푸스 문제

배발자 2022. 1. 16.
반응형
#include <iostream>
using namespace std; 
int main() {
	int N; int K; cin >> N >> K; 
	int arr[5000] = { 0 };
	for (int i = 1; i < N + 1; i++) {
		arr[i] = i;
	}
	
	cout << "<"; int number = N; int cnt = 0; int index = 0;
	while (number) {
		index++;
		if (arr[index] != 0) {
			cnt++;
			if (cnt == K) {
				
				if(number>1) {
					cout << arr[index] << ", ";
					number--; cnt = 0;
					arr[index] = 0;
				}
				else if (number == 1)
				{
					cout << arr[index]; cnt = 0; number--; 
					arr[index] = 0; 
				}
			}
			
		}
		if (index == N) {
			index = 0;

		}

	}
	cout << ">";
		
}
반응형

댓글