Skip to content

Pro2

原始文件为 CPP 代码,本文是转换后的 Markdown 文件。

#include <iostream>
#include <cstring>
#include <string>
#include <cstdio>
#include <vector>

using namespace std;

int pos[1005];
int main()
{
    //freopen("in.txt","r",stdin);
    vector<int> student;
    memset(pos,0,sizeof(pos));

    int n,m;
    scanf("%d%d",&n,&m);

    student.clear();
    for (int i = 0; i < n; ++i) 
    {
        student.push_back(i);
        pos[i] = i;
    }

    for (int i = 0; i < m; ++i)
    {
        int num,value;
        scanf("%d%d",&num,&value);

        num--;
        student.erase(student.begin()+pos[num]);

        //cout << endl;
        pos[num] += value;
        student.insert(student.begin()+pos[num],num);
        if (value > 0)
        {
            for (int i = pos[num]-value; i <= pos[num]; ++i)
            {
                pos[student[i]] = i;
            }
        }else if (value < 0)
        {
            for (int i = pos[num]; i <= pos[num]-value; ++i)
            {
                pos[student[i]] = i;
            }
        }


    }

    for (int i = 0; i < n; ++i)
    {
        printf("%d ", student[i]+1);
    }
    printf("\n");

}