JavaStudy——0048:小孩报数问题

总时间限制: 1000ms 内存限制: 65536kB

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

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

样例输入

5
Xiaoming
Xiaohua
Xiaowang
Zhangsan
Lisi
2,3

样例输出

Zhangsan
Xiaohua
Xiaoming
Xiaowang
Lisi

Accepted代码

import java.util.LinkedList;
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner in=new Scanner(System.in);
        LinkedList<String> l=new LinkedList<String>();
        int n=in.nextInt();in.nextLine();
        for (int i=1;i<=n;i++) {
             String s=in.nextLine();
             l.add(s);
        }
        char[] s=in.next().toCharArray();
        int m=s[0]-'0';
        int T=s[2]-'0';
        int pos=m-1;
        T--;
        while(l.size()!=0) {
            pos+=T;
            pos=pos%l.size();
            System.out.println(l.get(pos));
            l.remove(pos);
        }
        in.close();
    }
}

你可能感兴趣的:(OpenJudge,-,javastudy)