P1996超时,玄关求调
  • 板块灌水区
  • 楼主Xin_Ting
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/4/17 23:04
  • 上次更新2024/4/18 15:48:13
查看原帖
P1996超时,玄关求调
1332851
Xin_Ting楼主2024/4/17 23:04
#include<bits/stdc++.h>
using namespace std;
struct node{
	int data;//数据域
	node*next;//指针域
};
int main() {
	int n;//表示n个人围城一圈
	int m;//表示数到m的人出列
	node*head;
	node*now;
	node*p;
	node*prev;
	cin >> n;
	cin >> m;
	head = new node;//申请空间
	head->data = 1;//每个都初始化为1方便后续递加
	head->next = NULL;
	now = head;//当前指针是头
	for (int i = 2; i <= n; i++) {//递加
		p = new node;
		p->data =i;
		p->next = NULL;
		now = p;
	}
	now->next = head;
	now = head;
	prev = head;
	while ((n--) > 0) {
		for (int i = 1; i < m; i++) {//如果并不为m则一直执行下去
			prev = now;
			now = now->next;
		}
		cout << now->data;
		prev->next = now->next;
		delete now;//释放节点
		now = prev->next;
	}
	cout << now->data;
	delete now;
	return 0;
}
2024/4/17 23:04
加载中...