반응형
http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&code=3101
#include <stdio.h>
struct Node {
Node* pPrev;
Node* pNext;
int my;
Node(int n) : pPrev(this), pNext(this), my(n) {}
Node(Node* pp, Node* pn, int n) : pPrev(pp), pNext(pn), my(n) { pp->pNext = this; pn->pPrev = this; }
};
int N, K;
Node* pFirst;
void Input()
{
scanf("%d %d", &N, &K);
Node* pN = pFirst = new Node(1);
for (int i = 2; i <= N; i++)
{
pN = new Node(pN, pN->pNext, i);
}
}
Node* pop()
{
int n = K;
while (--n) { pFirst = pFirst->pNext; }
return pFirst;
}
int main(void)
{
Input();
Node* pTmp;
while (1) {
pTmp = pop();
printf("%d ", pTmp->my);
pTmp->pPrev->pNext = pTmp->pNext;
pTmp->pNext->pPrev = pTmp->pPrev;
pFirst = pTmp->pNext;
if (pFirst->pNext == pFirst) {
printf("%d ", pFirst->my);
break;
}
}
return 0;
}
반응형
'프로그래밍 알고리즘' 카테고리의 다른 글
[정올 3115] 긴 자리 나눗셈 (0) | 2023.01.10 |
---|---|
[정올 3106] 진법 변환 (0) | 2023.01.09 |
[정올 2815] 10진수를 2진수로 (0) | 2023.01.09 |
[정올 2811] 소수와 합성수 (0) | 2023.01.09 |
[정올 2809] 약수 (0) | 2023.01.09 |