5398 2023. 05. 12 15:50:38 szil Széfnyitás cpp14 Hibás válasz 0/100 7ms 6016 KiB
#include <bits/stdc++.h>

using ll = long long;
using namespace std;
const ll INF = 1e18;

const int MAXN = 151;

int a[MAXN];
int s[MAXN][2], s2[50001][2];

int timer;
struct Node {
    Node *p[2] = {nullptr, nullptr};
    int u = -1, t;
};

Node *root;

void add(vector<int> &v, int u) {
    Node *ptr = root;
    for (int i : v) {
        if (ptr->p[i] == nullptr) {
            ptr->p[i] = new Node();
            ptr->p[i]->t = timer++;
        }
        ptr = ptr->p[i];
    }
    ptr->u = u;
}

void upd(Node *v) {
    if (v->u != -1) {
        s2[v->t][0] = s2[v->t][1] = v->u;
        return;
    }
    if (v->p[0] != nullptr) {
        s2[v->t][0] = v->p[0]->t;
        upd(v->p[0]);
    }
    if (v->p[1] != nullptr) {
        s2[v->t][1] = v->p[1]->t;
        upd(v->p[1]);
    }
}

int main()
{
    srand(time(0));
    ios::sync_with_stdio(0); cin.tie(0);
    int n, k; cin >> n;
    timer = n + 1;
    root = new Node();
    root->t = timer++;
    for (int i = 1; i <= n; i++) {
        int x;
        cin >> a[i] >> s[i][0] >> s[i][1];
    }
    cin >> k;

    for (int i = 1; i <= n; i++) {
        vector<int> v;
        int u = i;
        for (int it = 0; it < n-1; it++) {
            v.push_back(a[u]);
            u = s[u][0];
        }
        add(v, s[u][0]);
    }
    upd(root);
    cout << timer-1 << " " << n+1 << "\n";
    for (int i = 1; i <= n; i++) {
        cout << a[i] << " " << s[i][0] << " " << s[i][1] << "\n";
    }
    for (int i = n+1; i < timer; i++) {
        cout << 0 << " " << s2[i][0] << " " << s2[i][1] << "\n";
    }
    return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
subtask1 0/0
1 Hibás válasz 3ms 1832 KiB
2 Hibás válasz 3ms 2028 KiB
subtask2 0/16
3 Hibás válasz 3ms 2028 KiB
4 Hibás válasz 3ms 2244 KiB
5 Hibás válasz 3ms 2452 KiB
6 Elfogadva 2ms 2664 KiB
7 Elfogadva 2ms 2872 KiB
8 Hibás válasz 2ms 2956 KiB
9 Hibás válasz 3ms 3104 KiB
10 Elfogadva 2ms 3028 KiB
11 Elfogadva 3ms 3160 KiB
12 Hibás válasz 2ms 3248 KiB
13 Elfogadva 3ms 3476 KiB
14 Elfogadva 3ms 3560 KiB
subtask3 0/24
15 Elfogadva 3ms 3560 KiB
16 Hibás válasz 3ms 3920 KiB
17 Hibás válasz 3ms 3796 KiB
18 Hibás válasz 3ms 3712 KiB
19 Hibás válasz 3ms 3712 KiB
20 Hibás válasz 3ms 3764 KiB
21 Hibás válasz 3ms 3708 KiB
22 Hibás válasz 3ms 3764 KiB
23 Hibás válasz 3ms 3708 KiB
subtask4 0/23
24 Hibás válasz 3ms 3708 KiB
25 Hibás válasz 3ms 3688 KiB
26 Hibás válasz 3ms 3692 KiB
27 Hibás válasz 3ms 3828 KiB
28 Hibás válasz 3ms 3940 KiB
29 Hibás válasz 3ms 4104 KiB
30 Hibás válasz 3ms 4064 KiB
31 Hibás válasz 3ms 4112 KiB
32 Hibás válasz 3ms 4376 KiB
subtask5 0/37
33 Hibás válasz 3ms 4376 KiB
34 Hibás válasz 3ms 2244 KiB
35 Hibás válasz 3ms 2452 KiB
36 Elfogadva 2ms 2664 KiB
37 Elfogadva 2ms 2872 KiB
38 Hibás válasz 2ms 2956 KiB
39 Hibás válasz 3ms 3104 KiB
40 Elfogadva 2ms 3028 KiB
41 Elfogadva 3ms 3160 KiB
42 Hibás válasz 2ms 3248 KiB
43 Elfogadva 3ms 3476 KiB
44 Elfogadva 3ms 3560 KiB
45 Hibás válasz 3ms 3920 KiB
46 Hibás válasz 3ms 3796 KiB
47 Hibás válasz 3ms 3712 KiB
48 Hibás válasz 3ms 3712 KiB
49 Hibás válasz 3ms 3764 KiB
50 Hibás válasz 3ms 3708 KiB
51 Hibás válasz 3ms 3764 KiB
52 Hibás válasz 3ms 3708 KiB
53 Hibás válasz 3ms 3688 KiB
54 Hibás válasz 3ms 3692 KiB
55 Hibás válasz 3ms 3828 KiB
56 Hibás válasz 3ms 3940 KiB
57 Hibás válasz 3ms 4104 KiB
58 Hibás válasz 3ms 4064 KiB
59 Hibás válasz 3ms 4112 KiB
60 Hibás válasz 3ms 4376 KiB
61 Hibás válasz 3ms 4280 KiB
62 Hibás válasz 3ms 4356 KiB
63 Hibás válasz 3ms 4316 KiB
64 Hibás válasz 3ms 4316 KiB
65 Hibás válasz 6ms 5372 KiB
66 Hibás válasz 7ms 5516 KiB
67 Hibás válasz 7ms 5512 KiB
68 Hibás válasz 6ms 5456 KiB
69 Hibás válasz 7ms 5608 KiB
70 Hibás válasz 7ms 5896 KiB
71 Hibás válasz 7ms 6016 KiB
72 Hibás válasz 6ms 5732 KiB