0
点赞
收藏
分享

微信扫一扫

小孩报数问题

ZSACH 2023-02-07 阅读 55


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


提示

可用链表来实现

import java.util.LinkedList;
import java.util.List;
import java.util.Scanner;

public class Main {

public static void main(String[] args) {
Scanner cin=new Scanner(System.in);

LinkedList<String> l= new LinkedList<String>();
int n=cin.nextInt();
cin.nextLine();
for(int i=1;i<=n;i++)
{
String s=cin.nextLine();
l.add(s);
}

char[] s=cin.next().toCharArray();

int m=s[0]-'0';
int T=s[2]-'0';

int pos=m-1;
T--;//注意T要减1,因为当前孩子也要报数
while(l.size()!=0)
{

pos+=T;
pos=pos%l.size();
System.out.println(l.get(pos));
l.remove(pos);
}



}

}

 

举报

相关推荐

0 条评论