约瑟夫问题

题目描述

有n个人围坐在一个圆桌周围,把这n个人一次编号为1,2,…,n。从编号是1 的人开始报数,数到第m个人就出列,然后从出列的下一个人重新开始报数,数到第m个人又出列……..如此反复,直到只所有人都出列为止。给出n和m的值,输出出列顺序。

输入

第一行两个数n和m

输出

出列顺序

样例输入

样例输出

提示

30% (n,m<1000)

50% (n,m<5000)

80% (n,m<10000)

100% (n,m<50000)


二叉排序树,复杂度O(n log n)

 


地址复制,理论复杂度O(n),不过测试下来比二叉排序树慢

 

发表评论