zoukankan      html  css  js  c++  java
  • 洛谷 P1996 约瑟夫问题

    题目背景

    约瑟夫是一个无聊的人!!!

    题目描述

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

    输入输出格式

    输入格式:

     

    n m

     

    输出格式:

     

    出圈的编号

     

    输入输出样例

    输入样例#1: 复制
    10 3
    输出样例#1: 复制
    3 6 9 2 7 1 8 5 10 4

    说明

    m, n le 100m,n100

    思路:模拟

    #include<cstdio>
    #include<cstring>
    #include<iostream>
    #include<algorithm>
    using namespace std;
    int n,k,num,pos;
    int vis[110];
    int main(){
        scanf("%d%d",&n,&k);
        for(int i=1;i<=n;i++){
            num=0;
            while(1){
                pos++;if(pos>n)    pos=1;
                if(!vis[pos])    num++;
                if(num==k)    vis[pos]=1,cout<<pos<<" ";
                if(num==k)    break;
            }
        }
    }
    细雨斜风作晓寒。淡烟疏柳媚晴滩。入淮清洛渐漫漫。 雪沫乳花浮午盏,蓼茸蒿笋试春盘。人间有味是清欢。
  • 相关阅读:
    16
    15
    14
    13
    12
    11
    10
    python包管理器修改镜像地址
    Linux环境下安装hadoop分布式集群+问题总结
    解剖css中的clear属性
  • 原文地址:https://www.cnblogs.com/cangT-Tlan/p/7853326.html
Copyright © 2011-2022 走看看