-
백준 11866 조세퍼스 문제 0백준 algorithm 2019. 12. 20. 18:21반응형
list STL을 이용해서 실제적으로 지우면서 문제를 풀었다.
풀고 나서 다른 풀이들을 보니 원형큐를 이용해서 푸는 방법도 있다.후자의 방법이 더 빠르게 풀수 있는 방법인듯하다. 다시한번 풀어볼 문제이다.
#include <iostream> #include <deque> #include <list> using namespace std; int main() { list<int> jose; int N, K; cin >> N >> K; for (int i = 1; i <= N; i++) { jose.push_back(i); } //find first delete node list<int>::iterator iter = jose.begin(); for (int i = 0; i < K - 1; i++) { iter++; } cout << '<'; while (!jose.empty()) { if(jose.size()!=1)cout << *iter << ", "; else { cout << *iter << "> \n"; } //erase() returns where deleted next iter = jose.erase(iter); if (jose.size() == 0)break; if (iter == jose.end())//end() means not the last node, It means that last node's next { iter=jose.begin(); } for (int j = 0; j < K - 1; j++) { iter++; if (iter == jose.end()) { iter = jose.begin(); } } } return 0; }
반응형'백준 algorithm' 카테고리의 다른 글
백준 10817 - 세 수 (0) 2019.12.26 백준 2588 곱셈 (0) 2019.12.20 백준 2164 -카드2 (0) 2019.12.13 백준 10172 - 개 (0) 2019.11.17 백준 15596 - 정수 N개의 합 (0) 2019.11.10