1 条题解

  • 1
    @ 2024-1-6 17:33:09
    #include <iostream>
    using namespace std;
    struct Node
    {
        int val, nxt, pre;
    } node[100005];
    int n, m, head, x, now;
    int main()
    {
        cin >> n;
        for (int i = 1; i <= n; i++)
        {
            int id, val, nxt;
            cin >> id >> val >> nxt;
            node[id].val = val;
            node[id].nxt = nxt;
            node[node[id].nxt].pre = id;
        }
        head = 1;
        cin >> m;
        for (int i = 1; i <= m; i++)
        {
            cin >> x;
            if (x == head)
                head = node[head].nxt;
            else if (node[x].nxt == -1)
                node[node[x].pre].nxt = -1;
            else
            {
                node[node[x].pre].nxt = node[x].nxt;
                node[node[x].nxt].pre = node[x].pre;
            }
        }
        now = head;
        while (now != -1)
        {
            cout << node[now].val << " ";
            now = node[now].nxt;
        }
        return 0;
    }
    
    • 1

    信息

    ID
    302
    时间
    1000ms
    内存
    128MiB
    难度
    2
    标签
    递交数
    87
    已通过
    53
    上传者