ccf csp 学生排队

借助list移动

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class 学生排队 {
    
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int k = sc.nextInt();
        List<Stu> sList = new ArrayList<>();
        for (int i = 1; i < n+1; i++) {
            sList.add(new Stu(i));
        }
        //开始
        while(k-- >0) {
            int p = sc.nextInt();
            int step = sc.nextInt();
            int cur = 0;
            int newP = 0;
            Stu stu = null;
            //获取p学生的当前位置cur
            for (int i = 0; i < sList.size(); i++) {
                stu = sList.get(i);
                if(stu.id == p) {
                    cur = i;
                    sList.remove(i);
                    break;
                }
            }
            //计算新的位置 p+step
            newP = cur + step;
            //插入新的位置
            sList.add(newP, stu);
        }
        //打印结果
        for (int i = 0; i < sList.size(); i++) {
            System.out.print(sList.get(i).id + " ");
        }
    }
    
}
class Stu{
    int id;
    public Stu(int id) {
        this.id = id;
    }
}



全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务