20分求救!!!
  • 板块B3631 单向链表
  • 楼主To_2051
  • 当前回复2
  • 已保存回复2
  • 发布时间2023/11/27 20:54
  • 上次更新2023/11/27 22:30:57
查看原帖
20分求救!!!
740254
To_2051楼主2023/11/27 20:54

rt

#include<bits/stdc++.h>
using namespace std;
int n,k;
struct member{
	int next,id,pre;
}a[1000001];
int find(int x)
{
	int p=x;
	for(int i=1;i<=k;i++)
	{
		p=a[p].next;
	}
	return p;
}
void kill(int x)
{
	a[a[x].pre].next=a[x].next;
	a[a[x].next].pre=a[x].pre;
	a[x].id=-1;
}
int main()
{
	
	cin>>n>>k;
	int x=1;
	for(int i=1;i<=n;i++)
	{
		a[i].id=i;
		a[i].next=i+1;
		a[i].pre=i-1;
	}
	a[n].next=1;
	a[1].pre=n;
//	x=find(x);
	x=k;
	for(int i=1;i<=n-1;i++)
	{	kill(x);
		cout<<x<<" ";
//		printf("x=%d\n",x);
		x=find(x);
	}
	cout<<find(x);
//	for(int i=1;i<=n;i++) 
	return 0;
}

2023/11/27 20:54
加载中...