zoukankan      html  css  js  c++  java
  • poj 3750 小孩报数问题

    小孩报数问题
    Time Limit: 1000MS   Memory Limit: 65536K
    Total Submissions: 10523   Accepted: 4882

    Description

    有N个小孩围成一圈,给他们从1开始依次编号,现指定从第W个开始报数,报到第S个时,该小孩出列,然后从下一个小孩开始报数,仍是报到S个出列,如此重复下去,直到所有的小孩都出列(总人数不足S个时将循环报数),求小孩出列的顺序。

    Input

    第一行输入小孩的人数N(N<=64) 
    接下来每行输入一个小孩的名字(人名不超过15个字符) 
    最后一行输入W,S (W < N),用逗号","间隔

    Output

    按人名输出小孩按顺序出列的顺序,每行输出一个人名

    Sample Input

    5
    Xiaoming
    Xiaohua
    Xiaowang
    Zhangsan
    Lisi
    2,3

    Sample Output

    Zhangsan
    Xiaohua
    Xiaoming
    Xiaowang
    Lisi

    Source

     

    模拟

    做法一:

     1 #include<cstdio>
     2 #include<cmath>
     3 #include<cstring>
     4 #include<iostream>
     5 #include<queue>
     6 using namespace std;
     7 struct point{
     8     string name;
     9     int num;
    10 };
    11 point p[65];
    12 int main(){
    13     int n,s,w;
    14     while(cin>>n){
    15         int i=1;
    16         for(;i<=n;i++){
    17             cin>>p[i].name;
    18             p[i].num=i;
    19         }
    20         char c;
    21         scanf("%d,%d",&w,&s);//输入尽量用scanf
    22         //cout<<w<<" "<<s<<endl;
    23         queue<int> st;
    24         i=w;
    25         int num=1;
    26         for(;;i++){
    27             if(i==n+1){
    28                 i=1;
    29             }
    30             if(p[i].num){
    31                 if(num==s){
    32                     //cout<<i<<endl;
    33                     num=1;//下一个数的编号 
    34                     st.push(i);
    35                     p[i].num=0;
    36                     if(st.size()==n){
    37                         break;
    38                     }
    39                 }
    40                 else{
    41                     num++;
    42                 }
    43             }
    44         }
    45         for(i=0;i<n;i++){
    46             cout<<p[st.front()].name<<endl;
    47             st.pop();
    48         }
    49     }
    50     return 0;
    51 }

    做法二:

  • 相关阅读:
    vue-cli3 打包路径参数说明
    vuex使用map在module的模式下的写法
    普通的JS文件中使用vuex
    vue cli 3+ 版本的source map添加方法
    vue-cli的安装及版本查看/更新
    搭建一个vue项目
    无法将“vue”项识别为 cmdlet、函数、脚本文件或可运行程序的名称
    Centos7开放及查看端口
    记录一次idae和maven设置的巨坑
    解决npm安装node-sass太慢及编译错误问题
  • 原文地址:https://www.cnblogs.com/Deribs4/p/4299236.html
Copyright © 2011-2022 走看看