P1996 约瑟夫问题

来源:互联网 发布:php怎么防止sql注入 编辑:程序博客网 时间:2024/05/14 01:58
/***************************************************** 题型:链表注意: t=n,赋初值 s=t; t=p[t];    //s记录数到第几人,t表示数到下一个  p[s]=p[t]; 别忘了删除队列 *******************************************************/#include <stdio.h>int p[101],n,m,i,j,s,t;    //p指向下一个数 int main(){    scanf("%d %d",&n,&m);    for(i=1; i<n; i++)p[i]=i+1;    //模拟     p[n]=1;     //构造一个环     t=n;    //赋初值,从第n人开始     for(i=1; i<=n; i++){    //模拟n人依次出队         for(j=1; j<=m; j++){    //数m次             s=t; t=p[t];    //s记录数到第几人,t表示数到下一个         }        printf("%d ",t); p[s]=p[t];    //输出当前出队的人,并在队列中删除     }    return 0;}
原创粉丝点击