114514
2023-10-15 09:51:21
发布于:北京
#include<bits/stdc++.h>
using namespace std;
struct node{
int data;
node *pre,*next;
};
int a,b;
int main(){
cin>>a>>b;
node *head,*r;//头节点,尾节点
head=new node;//动态申请空间
head->pre=NULL;//前驱初始化
head->data=0;
head->next=NULL;//后继初始化
r=head;//此时的头节点就是尾节点
node *p;
for(int i=1;i<=a;i++){
p=new node;
p->pre=r;//p连接r
p->data=i;
p->next=NULL;
r->next=p; //r连接p
r=p;//更新尾节点
}
r->next=head->next;//E连接A
head->next->pre=r;//A连接E
p=head->next;//A
for(int i=1;i<=a-1;i++){//删除四只猴子
for(int j=1;j<=b;j++){
p=p->pre;//向左移动
}
p->pre->next=p->next;//删除
p->next->pre=p->pre;//删除
p=p->next;//右边报数为一
}
cout<<p->data;
return 0;
}
这里空空如也
有帮助,赞一个