QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#162817#7121. Beech Treearbuzick#9 1ms3888kbC++201.6kb2023-09-03 16:59:172024-04-28 06:53:07

Judging History

你现在查看的是最新测评结果

  • [2024-04-28 06:53:07]
  • 管理员手动重测本题所有提交记录
  • 测评结果:9
  • 用时:1ms
  • 内存:3888kb
  • [2023-09-03 16:59:17]
  • 评测
  • 测评结果:9
  • 用时:1ms
  • 内存:4128kb
  • [2023-09-03 16:59:17]
  • 提交

answer

#include <bits/stdc++.h>

using namespace std;

vector<int> beechtree(int n, int m, vector<int> p, vector<int> c) {
    vector<int> colors;
    for (int i = 1; i < n; ++i) {
        colors.push_back(c[i]);
    }
    sort(colors.begin(), colors.end());
    colors.resize(unique(colors.begin(), colors.end()) - colors.begin());
    for (int i = 1; i < n; ++i) {
        c[i] = lower_bound(colors.begin(), colors.end(), c[i]) - colors.begin();
    }
    if (n <= 8) {
        vector<vector<int>> tree(n);
        for (int i = 0; i < n; ++i) {
            int nw = p[i];
            while (nw != -1) {
                tree[nw].push_back(i);
                nw = p[nw];
            }
        }
        vector<int> ans(n);
        for (int i = 0; i < n; ++i) {
            if (tree[i].empty()) {
                ans[i] = 1;
                continue;
            }
            do {
                map<int, int> cnt;
                bool check = true;
                for (auto v : tree[i]) {
                    if (cnt[c[v]] == 0 && p[v] != i) {
                        check = false;
                        break;
                    }
                    if (cnt[c[v]] > 0 && tree[i][cnt[c[v]] - 1] != p[v]) {
                        check = false;
                        break;
                    }
                    cnt[c[v]]++;
                }
                if (check) {
                    ans[i] = 1;
                }
            } while (next_permutation(tree[i].begin(), tree[i].end()));
        }
        return ans;
    }
}

Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 9
Accepted

Test #1:

score: 9
Accepted
time: 0ms
memory: 3804kb

input:

j2DRV0nYbs0y1xUYUGaiqtOKUU9vM9zi
8 500
-1 0 1 2 3 4 5 6
0 281 281 281 281 281 281 281

output:

p89vHUOQJ7iyHtdrgGXzKx8iRtXLL6wH
OK
1 1 1 1 1 1 1 1

result:

ok 

Test #2:

score: 9
Accepted
time: 1ms
memory: 3748kb

input:

j2DRV0nYbs0y1xUYUGaiqtOKUU9vM9zi
8 500
-1 0 1 2 3 4 5 6
0 11 169 169 169 169 169 169

output:

p89vHUOQJ7iyHtdrgGXzKx8iRtXLL6wH
OK
0 1 1 1 1 1 1 1

result:

ok 

Test #3:

score: 9
Accepted
time: 1ms
memory: 3776kb

input:

j2DRV0nYbs0y1xUYUGaiqtOKUU9vM9zi
8 500
-1 0 1 2 3 4 5 6
0 324 324 492 324 324 324 324

output:

p89vHUOQJ7iyHtdrgGXzKx8iRtXLL6wH
OK
0 0 0 1 1 1 1 1

result:

ok 

Test #4:

score: 9
Accepted
time: 1ms
memory: 3880kb

input:

j2DRV0nYbs0y1xUYUGaiqtOKUU9vM9zi
8 500
-1 0 1 2 3 4 5 6
0 216 220 387 371 53 34 188

output:

p89vHUOQJ7iyHtdrgGXzKx8iRtXLL6wH
OK
0 0 0 0 0 0 1 1

result:

ok 

Test #5:

score: 9
Accepted
time: 0ms
memory: 3840kb

input:

j2DRV0nYbs0y1xUYUGaiqtOKUU9vM9zi
7 500
-1 0 0 0 1 1 2
0 357 147 147 20 147 20

output:

p89vHUOQJ7iyHtdrgGXzKx8iRtXLL6wH
OK
0 1 1 1 1 1 1

result:

ok 

Test #6:

score: 9
Accepted
time: 0ms
memory: 3884kb

input:

j2DRV0nYbs0y1xUYUGaiqtOKUU9vM9zi
4 500
-1 0 0 0
0 267 210 278

output:

p89vHUOQJ7iyHtdrgGXzKx8iRtXLL6wH
OK
1 1 1 1

result:

ok 

Test #7:

score: 9
Accepted
time: 1ms
memory: 3804kb

input:

j2DRV0nYbs0y1xUYUGaiqtOKUU9vM9zi
7 500
-1 0 0 0 1 2 3
0 250 140 214 250 250 140

output:

p89vHUOQJ7iyHtdrgGXzKx8iRtXLL6wH
OK
0 1 1 1 1 1 1

result:

ok 

Test #8:

score: 9
Accepted
time: 1ms
memory: 3888kb

input:

j2DRV0nYbs0y1xUYUGaiqtOKUU9vM9zi
8 500
-1 0 0 0 1 1 3 3
0 40 205 455 455 36 36 455

output:

p89vHUOQJ7iyHtdrgGXzKx8iRtXLL6wH
OK
0 1 1 1 1 1 1 1

result:

ok 

Test #9:

score: 9
Accepted
time: 0ms
memory: 3808kb

input:

j2DRV0nYbs0y1xUYUGaiqtOKUU9vM9zi
7 500
-1 0 0 1 1 1 2
0 181 33 33 181 201 33

output:

p89vHUOQJ7iyHtdrgGXzKx8iRtXLL6wH
OK
0 1 1 1 1 1 1

result:

ok 

Test #10:

score: 9
Accepted
time: 0ms
memory: 3812kb

input:

j2DRV0nYbs0y1xUYUGaiqtOKUU9vM9zi
5 500
-1 0 0 1 2
0 162 281 162 162

output:

p89vHUOQJ7iyHtdrgGXzKx8iRtXLL6wH
OK
1 1 1 1 1

result:

ok 

Subtask #2:

score: 0
Runtime Error

Test #11:

score: 0
Runtime Error

input:

j2DRV0nYbs0y1xUYUGaiqtOKUU9vM9zi
200000 200000
-1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86...

output:


result:


Subtask #3:

score: 0
Runtime Error

Test #25:

score: 0
Runtime Error

input:

j2DRV0nYbs0y1xUYUGaiqtOKUU9vM9zi
103965 200000
-1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

output:


result:


Subtask #4:

score: 0
Runtime Error

Test #48:

score: 0
Runtime Error

input:

j2DRV0nYbs0y1xUYUGaiqtOKUU9vM9zi
199979 200000
-1 0 1 1 1 1 1 1 1 1 1 1 11 11 1 11 11 11 11 11 11 11 0 22 23 23 23 23 23 23 23 23 23 23 33 22 35 36 36 36 36 36 36 36 36 38 38 38 35 48 49 49 49 49 49 49 49 53 53 48 59 60 60 60 60 60 59 66 67 67 67 67 67 67 67 67 67 67 73 71 66 80 81 81 81 81 81 81 81...

output:


result:


Subtask #5:

score: 0
Runtime Error

Dependency #1:

100%
Accepted

Test #54:

score: 0
Runtime Error

input:

j2DRV0nYbs0y1xUYUGaiqtOKUU9vM9zi
200 500
-1 0 0 1 1 2 3 4 5 6 2 7 0 8 9 10 11 12 13 14 1 15 3 16 17 2 18 19 20 4 5 21 22 23 24 25 26 27 28 29 6 30 31 3 32 33 34 35 36 37 7 8 9 38 10 39 11 40 41 12 13 14 4 42 43 44 45 46 5 47 6 48 15 49 50 51 16 52 53 7 54 17 55 56 57 8 9 18 58 59 60 61 19 62 63 64 2...

output:


result:


Subtask #6:

score: 0
Runtime Error

Test #65:

score: 0
Runtime Error

input:

j2DRV0nYbs0y1xUYUGaiqtOKUU9vM9zi
2000 2
-1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 ...

output:


result:


Subtask #7:

score: 0
Skipped

Dependency #5:

0%

Subtask #8:

score: 0
Skipped

Dependency #6:

0%

Subtask #9:

score: 0
Skipped

Dependency #1:

100%
Accepted

Dependency #2:

0%