CCF201703-2 学生排队(JAVA版)

2020-03-20  本文已影响0人  巨鹿lx
import java.util.Scanner;

public class Main {
    static int N = 1010;
    static int a[] = new int[N];
    static int hp[] = new int[N];
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int k = scanner.nextInt();
        for(int i = 1; i <= n;i ++) a[i] = i;
        for(int i = 1; i <= n;i ++) hp[i] = i;
        while(k-->0) {
            int num = scanner.nextInt();
            int step = scanner.nextInt();
            if(step>0) {
                int p = hp[num];
                int i = 0;
                for(i = p ; i < p+step;i++) {
                    a[i] = a[i+1];
                    hp[a[i]]--;
                }
                a[i] = num;
                hp[num] = i;
            }else if(step<0){
                int p = hp[num];
                int i = 0;
                for(i = p ; i > p+step;i--) {
                    a[i] = a[i-1];
                    hp[a[i]]++;
                }
                a[i] = num;
                hp[num] = i;
            }
        }
        for(int i = 1; i <= n ; i++) System.out.print(a[i]+" ");
    }
}
上一篇 下一篇

猜你喜欢

热点阅读