P1996题目链接
分析以前就研究过“约瑟夫环”问题:
《单循环链表求解约瑟夫环问题(Java语言描述)》
《杀人游戏~约瑟夫环(洛谷P1145题题解)》
这里,我们使用队列解决问题这个问题。
每个报数人,看他报的数:
嗯,一个尝试。
AC代码(Java语言描述)import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Queue queue = new LinkedList();
StringBuilder result = new StringBuilder();
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt(), key = scanner.nextInt();
scanner.close();
for (int i = 1; i <= num; i++) {
queue.offer(i);
}
for (int i = 1; i <= num; i++) {
for (int j = 1; j < key; j++) {
queue.offer(queue.poll());
}
result.append(queue.poll()).append(" ");
}
System.out.println(result.toString().trim());
}
}