题目描述
blablabla
样例
blablabla
算法1
(暴力枚举) $O(n^2)$
尾插法
时间复杂度
参考文献
C++ 代码
#include<iostream>
#include<cstring>
using namespace std;
const int N=55;
int e[N],ne[N],idx,r,h;
int n,m;
int T;
void add(int a){
e[++idx]=a,ne[r]=idx,r=idx;
}
void del(int x){
cout<<ne[x]<<" ";//输出删除者编号
if(x==r)h=ne[h],ne[x]=h;
else ne[x]=ne[ne[x]];
}
int main(){
cin>>T;
while(T--){
int n;
cin>>n;
idx=0,r=0;h=1,m=3;//n是总人数、m是报数
memset(ne,0,sizeof ne);
memset(e,0,sizeof e);
for(int i=1;i<=n;i++)add(i);
ne[r]=h;
int nums=n;
for(int i=h,count=1;nums;i=ne[i],count++){
if(count==m-1)del(i),count=0,nums--;
}
puts("");
}
return 0;
}
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla