7 - 3 조세 프 링 (25 점) - 데이터 구조 제2 장

#include 
using namespace std;
#include 
struct Node{

	int data;
	Node*next;
};

int main()
{
	int n, m;
	cin >> n >> m;
	vectorres;
	Node * first = new Node;
	Node *pre = new Node;
	Node * p = new Node;

	pre = first;
	pre->next = p;
	p = first;
	if (n)
	{
		pre->data = 1;
	}
	for (int i = 2; i <= n; i++)
	{
		Node * pc = new Node;
		pc->data = i;
		pc->next = nullptr;
		p->next = pc;
		p = pc;
	}
	p->next = pre;
	int cnt = 1;
	for (auto i = pre,j = p;n; i = i->next)
	{


		if (cnt == m)
		{
			auto pr = i;
			res.push_back(i->data);
			j->next = i->next;
			n--;
			cnt = 0;
		}
		cnt++;
		j = i;
	}

//	          ,        ,                 ,     ; 
	bool tf = false;
	for (auto &x : res)
	{
		if (tf)
			cout << " ";
		cout << x;
		tf = true;
	}
	system("pause");
	return 0;
}

좋은 웹페이지 즐겨찾기