P1996 约瑟夫问题(队列,洛谷,java)

洛谷链接:https://www.luogu.com.cn/problem/P1996

在这里插入图片描述

import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;
public class Main {
    
	static Queue<Integer> a = new LinkedList<Integer>();
	
	public static void main(String[] args) {
		Scanner in=new Scanner(System.in);
        int b=in.nextInt();
        int c=in.nextInt();
        int d=0,e=1,f=0;
        
        for(int i=1;i<=b;i++) {
        	a.offer(i);  //从尾部插入
        }
        
        while(!a.isEmpty()) {
        	if(e==c) {  //如果这个人正好被踢 
        		System.out.print(a.poll()+" ");  //输出并删除头元素
        		e=1;
        	}else if(e!=c) {
        		e++;
        		a.offer(a.poll());  //将头元素插入到队尾并删除
        	}
        }
         
	}       
}
发布了96 篇原创文章 · 获赞 56 · 访问量 2227

猜你喜欢

转载自blog.csdn.net/weixin_44685629/article/details/104461436