的较好,这才叫题解
2025-02-07 22:46:42
发布于:陕西
3阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int n, m;
//定义单链表的节点信息
struct node {
int data;//数据域
node *next;//指针域:node类型的指针next
};
int main() {
cin >> n >> m;
//创建头节点
node *head, *r;//创建头尾指针
head = new node;//动态申请空间
head->next = NULL;//初始化指针域
r = head;//只有一个节点,头尾都一样
//添加其他节点
node *p;//创建新指针
for (int i = 0; i < n; i++) {
p = new node; //动态申请空间
p->data = i;
p->next = NULL; //初始化指针域
//链接(尾插法)
r->next = p;
r = p;
}
r->next = head->next; //首尾相连
p = head->next; //p指向报数为1的节点
for (int i = 1; i < n; i++) {
for (int j = 1; j < m - 1; j++) p = p->next;
p->next = p->next->next; //删除p的下一个(报数为4的节点)
p = p->next; //p再次到报数为1的位置
}
cout << p->data; //最后的猴子就是再次报数为1的
return 0;
}
这里空空如也
有帮助,赞一个