[백준] 1158. 요세푸스 문제
Algorithm2021. 12. 3. 17:15
반응형
Try 1
배열로 풀었는데 뭔가 이상함 n = 4 / k =4 인 부분에서 오류 발생
큐로 다시 풀어보고 배열도 틀린 점 고칠 예정
#include <vector>
#include <iostream>
using namespace std;
int main(void)
{
int n;
int k;
int count = 0;
cin >> n >> k;
vector<int> list(n);
int idx = k-1;
list[idx] = 1;
cout << '<' << k << ", ";
for(int i=0; i<n-1; i++)
{
while(count != k)
{
idx++;
if(list[idx] == 0)
count ++;
if(idx == n)
idx = 0;
}
count = 0;
list[idx] = 1;
if(i<n-2)
cout << idx+1 << ", ";
else
cout << idx+1 << ">";
}
return 0;
}
Try 2
탐색 idx를 다시 초기화 해주는 부분의 순서를 이상하게 했었음...
해결완료
/* 수정한 부분 */
for(int i=0; i<n-1; i++)
{
while(count != k)
{
idx++;
if(idx == n)
idx = 0;
if(list[idx] == 0)
count ++;
}
반응형
'Algorithm' 카테고리의 다른 글
[백준] 2164. 카드2 (C++) (2) | 2022.01.14 |
---|---|
[백준] 10867. 중복 빼고 정렬하기 (c++) (5) | 2022.01.14 |
[Programmers] 방문 길이 (C++) (3) | 2021.11.29 |
[Programers] 약수의 개수와 덧셈 (C++) (0) | 2021.11.29 |
[백준] 2941. 크로아티아 알파벳 (C++) (2) | 2021.11.29 |
댓글()