栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

ZCMU——5022约瑟夫环

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

ZCMU——5022约瑟夫环

5022: 约瑟夫

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 212  Solved: 105
[Submit][Status][Web Board]

Description


在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新报数,直到所有人都自杀身亡为止。然而Josephus 和他的朋友并不想遵从。他们该如何逃脱这场死亡游戏。

n个人(n<=100)围成一圈,从第一个人开始报数,数到m的人出列,再由下一个人重新从1开始报数,数到m的人再出圈,……依次类推,直到所有的人都出圈,请输出依次出圈人的编号.

Input

一行2个用空格隔开的整数n,m。

Output

一行用空格隔开的整数,表示出圈编号。

Sample Input

10 3

Sample Output

3 6 9 2 7 1 8 5 10 4

 蒟蒻用不来链表,呜呜呜~

#include
#define ll long long
#define ve vector
#define mp map
#define NO cout<<"NO"<=a;i--)
#define mem(a,b) memset(a,b,sizeof(a))
#define st string
#define N 10005
#define eps 1e-13
using namespace std;
const double pi =acos(-1.0);
const int maxn=1e6+5;
const ll mod =1e15;
const int dx[]={-1,0,1,0};
const int dy[]={0,1,0,-1};
//set s;
ve v;
priority_queue, greater >q;
int lcm(int a,int b){
    return a*b/__gcd(a,b);
}
bool isleaf(int x){
     return x%400==0||(x%4==0&&x%100==0);
}
int primes[N], cnt;
bool vis[N];
void is_prime(int x){
    vis[1] = vis[0] = 1;
    for(int i = 2; i <= x; ++ i){
        if(!vis[i])primes[cnt ++ ] = i;
        for(int j = 0; primes[j] * i <= x; ++ j){
            vis[primes[j] * i] = true;
            if(i % primes[j] == 0)break;
        }
    }
}//1e6;
ll qpow(ll a,ll n)//快速幂 ll mod=1e15;
{
    ll re=1;
    while(n)
    {
        if(n&1)
            re=(re*a)%mod;
        n>>=1;
        a=(a*a)%mod;
    }
    return re;
}
inline ll qmul(ll x,ll y,ll p)//快速乘 
{
    ll z=(long double)x/p*y;
    ll res=(unsigned long long)x*y-(unsigned long long)z*p;
    return (res+p)%p;
}
void pprint(char *);
struct ob
{
	char MC[100];
	double DJ;
	int SL;
};

int sum[maxn];
void iprime(){
	mem(sum,1);
	pre(i,2,maxn/2)
 	   for(int j=i*2;j>n>>m;
	pre(i,0,n-1)next[i]=i+1;//初始化数组 
	next[n]=1;//第n个指向1,形成闭环 
	pre(i,1,n){
	   pre(j,1,m-1)
	       pp=next[pp];//指针不断向下 
        cout< 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/779003.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号