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());  //將頭元素插入到隊尾並刪除
        	}
        }
         
	}       
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章