编号 题目 状态 分数 总时间 内存 代码 / 答案文件 提交者 提交时间
#21435 #1018. 1-01E. JM的俄罗斯套娃 Accepted 100 28 ms 356 K C++ 17 / 1.6 K Leohh 2020-02-06 22:44:08
显示原始代码
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <vector>
#define NUM false
#define ARR true
#define type bool

using namespace std;

struct Data {
    type t;
    int w;
    Data *par;
    vector<Data> v;
    Data() {}
    Data(type _t, int _w = 0, Data *_par = NULL) : t(_t), w(_w), par(_par) {}
    void ins(int p, int x) { v.insert(v.begin() + p, x ? Data(NUM, x) : Data(ARR, 0, this)); }
    void del(int p) { v.erase(v.begin() + p - 1, v.begin() + p); }
    void putchar() {
        if (t == NUM) {
            printf("%d", w);
        } else {
            printf("[]");
        }
    }
    void print() {
        printf("{");
        if (v.size()) {
            v.front().putchar();
        }
        for (int i = 1; i < v.size(); i++) {
            printf(" ");
            v[i].putchar();
        }
        printf("}\n");
    }
};

int q;
Data d(ARR);
Data *cur = &d;

int main() {
    scanf("%d", &q);
    int op, p, v;
    while (q--) {
        scanf("%d", &op);
        if (op == 1) {
            scanf("%d%d", &p, &v);
            cur->ins(p, v);
        } else if (op == 2) {
            scanf("%d", &p);
            cur->del(p);
        } else if (op == 3) {
            scanf("%d", &p);
            if (p) {
                if (cur->v[p - 1].t == ARR) {
                    cur = &(cur->v[p - 1]);
                }
            } else if (cur->par != NULL) {
                cur = cur->par;
            }
        } else {
            cur->print();
        }
    }
}
子任务 #1
Accepted
得分:100
测试点 #1
Accepted
得分:100
用时:3 ms
内存:356 KiB

输入文件(1.in

12
1 0 1
1 0 2
1 1 0
4
2 3
4
3 2
4
1 0 6
4
3 0
4

答案文件(1.out

{2 [] 1}
{2 []}
{}
{6}
{2 []}

用户输出

{2 [] 1}
{2 []}
{}
{6}
{2 []}

系统信息

Exited with return code 0
测试点 #2
Accepted
得分:100
用时:3 ms
内存:356 KiB

输入文件(2.in

10
1 0 1
1 0 2
1 1 3
1 1 4
1 3 5
1 5 6
4
2 2
2 4
4

答案文件(2.out

{2 4 3 5 1 6}
{2 3 5 6}

用户输出

{2 4 3 5 1 6}
{2 3 5 6}

系统信息

Exited with return code 0
测试点 #3
Accepted
得分:100
用时:3 ms
内存:348 KiB

输入文件(3.in

28
1 0 12
1 1 4
1 1 7
1 2 0
1 0 0
2 2
4
3 1
1 0 89
1 1 0
1 0 0
1 3 0
4
3 0
4
3 3
4
<50 bytes omitted>

答案文件(3.out

{[] 7 [] 4}
{[] 89 [] []}
{[] 7 [] 4}
{}
{1}
{}
{[] 7 [] 4}
{[] [] 4}

用户输出

{[] 7 [] 4}
{[] 89 [] []}
{[] 7 [] 4}
{}
{1}
{}
{[] 7 [] 4}
{[] [] 4}

系统信息

Exited with return code 0
测试点 #4
Accepted
得分:100
用时:3 ms
内存:308 KiB

输入文件(4.in

20
1 0 0
1 1 1
1 0 0
1 3 2
4
3 1
1 0 17
1 1 12
1 2 19
2 1
1 0 23
1 3 0
4
3 0
3 1
3 0
<16 bytes omitted>

答案文件(4.out

{[] [] 1 2}
{23 12 19 []}
{[] 1 2}
{}

用户输出

{[] [] 1 2}
{23 12 19 []}
{[] 1 2}
{}

系统信息

Exited with return code 0
测试点 #5
Accepted
得分:100
用时:2 ms
内存:280 KiB

输入文件(5.in

45
1 0 11
1 1 0
2 1
1 0 32
4
3 2
1 0 0
1 1 0
1 2 40
1 3 0
4
3 3
4
3 2
1 0 0
3 1
1 0
<129 bytes omitted>

答案文件(5.out

{32 []}
{[] [] 40 []}
{[] [] 40 []}
{12}
{[]}
{12}
{[] [] 40 []}
{32 []}
{32 []}
{[] [] 40 
<26 bytes omitted>

用户输出

{32 []}
{[] [] 40 []}
{[] [] 40 []}
{12}
{[]}
{12}
{[] [] 40 []}
{32 []}
{32 []}
{[] [] 40 []}
{[] 40 []}
{32 []}

系统信息

Exited with return code 0
测试点 #6
Accepted
得分:100
用时:2 ms
内存:284 KiB

输入文件(6.in

50
1 0 12
1 0 8
1 0 19
1 3 6
4
1 4 34
1 5 7
1 5 8
4
1 7 91
1 1 1
1 7 2
1 0 12
4
1 0 8
<251 bytes omitted>

答案文件(6.out

{19 8 12 6}
{19 8 12 6 34 8 7}
{12 19 1 8 12 6 34 8 2 7 91}
{19 8 12 6 34 7 19 1 8 12 6 34 8 2 7 
<259 bytes omitted>

用户输出

{19 8 12 6}
{19 8 12 6 34 8 7}
{12 19 1 8 12 6 34 8 2 7 91}
{19 8 12 6 34 7 19 1 8 12 6 34 8 2 7 91}
{19 8 12 6 34 8 7 19 1 8 12
<224 bytes omitted>

系统信息

Exited with return code 0
测试点 #7
Accepted
得分:100
用时:3 ms
内存:352 KiB

输入文件(7.in

50
1 0 0
1 0 8
2 2
1 1 6
4
1 2 34
1 3 0
1 3 8
4
1 4 0
2 1
1 4 2
1 0 12
4
1 0 8
1 0 1
<234 bytes omitted>

答案文件(7.out

{8 6}
{8 6 34 8 []}
{12 6 34 8 [] 2 []}
{19 8 12 6 34 7 6 34 8 [] 2 []}
{12 19 [] 6 74 83 [] 8 1
<186 bytes omitted>

用户输出

{8 6}
{8 6 34 8 []}
{12 6 34 8 [] 2 []}
{19 8 12 6 34 7 6 34 8 [] 2 []}
{12 19 [] 6 74 83 [] 8 12 6 34 8 2 7 6 95 34 8 [] 2 []}

<151 bytes omitted>

系统信息

Exited with return code 0
测试点 #8
Accepted
得分:100
用时:3 ms
内存:356 KiB

输入文件(8.in

50
1 0 0
1 1 0
1 0 29
1 3 0
1 0 8
1 5 0
1 1 88
1 2 0
2 8
4
3 5
1 0 63
1 0 52
1 2 19
1
<187 bytes omitted>

答案文件(8.out

{8 88 [] 29 [] [] []}
{63 7}
{8 88 [] 29 [] [] []}
{18 71 33}
{18}
{5 15 45}
{9 15 45}
{9 15 
<16 bytes omitted>

用户输出

{8 88 [] 29 [] [] []}
{63 7}
{8 88 [] 29 [] [] []}
{18 71 33}
{18}
{5 15 45}
{9 15 45}
{9 15 45}
{9 15 45}

系统信息

Exited with return code 0
测试点 #9
Accepted
得分:100
用时:3 ms
内存:356 KiB

输入文件(9.in

12
3 0
1 0 0
3 1
1 0 9
3 1
4
3 0
4
2 1
1 0 0
3 1
4

答案文件(9.out

{9}
{[]}
{}

用户输出

{9}
{[]}
{}

系统信息

Exited with return code 0
测试点 #10
Accepted
得分:100
用时:3 ms
内存:292 KiB

输入文件(10.in

32
1 0 46
3 1
1 1 0
4
2 1
3 1
4
1 0 0
3 1
4
1 0 0
3 1
1 0 0
3 1
1 0 12
1 0 14
1 2 2
<73 bytes omitted>

答案文件(10.out

{46 []}
{}
{}
{14 24}
{94}
{[]}
{7}

用户输出

{46 []}
{}
{}
{14 24}
{94}
{[]}
{7}

系统信息

Exited with return code 0