zoukankan      html  css  js  c++  java
  • 洛谷P1996(list解法)

    题目描述

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

    输入输出格式

    输入格式:

    n m

    输出格式:

    出圈的编号

    输入输出样例

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

    说明

    m,n100

     1 #include<iostream>
     2 #include<list>
     3 using namespace std;
     4 
     5 int n,m;
     6 list<int>num;
     7 int main(){
     8     cin>>n>>m;
     9     for(int i=1;i<=n;i++){
    10         num.push_back(i);
    11     }
    12     list<int>::iterator k=num.begin();
    13     while(num.size()>1){
    14         for(int i=1;i<m;i++){
    15             k++;
    16             if(k==num.end()){
    17                 k=num.begin();
    18             }
    19         }
    20         list<int>::iterator next=++k;
    21         if(next==num.end())
    22             next=num.begin();
    23         k--;
    24         cout<<*k<<" ";
    25         num.erase(k);
    26         k=next;
    27     }
    28     cout<<*k;
    29     return 0;
    30 }
  • 相关阅读:
    BlangenOA项目总结
    ==和Equals与值类型和引用类型
    SQL Server索引
    Html5 之拖动
    Html5 之过渡
    Html 之登录界面
    Html 之进度条
    GUI 之密码框
    GUI 之文本框
    GUI 之列表框
  • 原文地址:https://www.cnblogs.com/1129-tangqiyuan/p/9838048.html
Copyright © 2011-2022 走看看