用户输出
{2 [] 1}
{2 []}
{}
{6}
{2 []}
系统信息
Exited with return code 0
编号 | 题目 | 状态 | 分数 | 总时间 | 内存 | 代码 / 答案文件 | 提交者 | 提交时间 |
---|---|---|---|---|---|---|---|---|
#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();
}
}
}
用户输出
{2 [] 1}
{2 []}
{}
{6}
{2 []}
系统信息
Exited with return code 0
用户输出
{2 4 3 5 1 6}
{2 3 5 6}
系统信息
Exited with return code 0
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>
用户输出
{[] 7 [] 4}
{[] 89 [] []}
{[] 7 [] 4}
{}
{1}
{}
{[] 7 [] 4}
{[] [] 4}
系统信息
Exited with return code 0
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>
用户输出
{[] [] 1 2}
{23 12 19 []}
{[] 1 2}
{}
系统信息
Exited with return code 0
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>
{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
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>
{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
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>
{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
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 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}
{[]}
{}
系统信息
Exited with return code 0