借助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;
}
}

京公网安备 11010502036488号