QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#388317#8544. Colorful Graph 2ucup-team1055#WA 441ms3868kbC++202.1kb2024-04-13 14:43:512024-04-13 14:43:51

Judging History

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

  • [2024-04-13 14:43:51]
  • 评测
  • 测评结果:WA
  • 用时:441ms
  • 内存:3868kb
  • [2024-04-13 14:43:51]
  • 提交

answer

#include <bits/stdc++.h>

#define rep(i,s,n) for(int i = int(s); i < int(n); i++)
#define rrep(i,s,n) for(int i = int(n) - 1; i >= int(s); i--)
#define all(v) (v).begin(),(v).end()

using ll = long long;
using ld = long double;
using ull = unsigned long long;

bool chmin(auto &a, auto b) {
    if(a <= b) return false;
    a = b;
    return true;
}

bool chmax(auto &a, auto b) {
    if(a >= b) return false;
    a = b;
    return true;
}

using namespace std;

void solve(){
    int n, m; cin >> n >> m;
    vector<set<int>> g(n);
    rep(i,0,m){
        int u, v; cin >> u >> v;
        g[u].insert(v);
        g[v].insert(u);
    }
    auto deg = [&](int v){
        return g[v].size();
    };
    vector<int> ans(n,0);
    auto dfs = [&](auto sfs, vector<int> del) -> void {
        vector<int> deg2;
        vector<int> ops;
        for (int v : del){
            // deg(v) == 2
            int op = -1;
            for (int u : g[v]){
                g[u].erase(v);
                if (deg(u) == 2){
                    deg2.emplace_back(u);
                    op = u;
                }
            }
            ops.emplace_back(op);
        }
        if (deg2.empty()){
            // degl.size() >= 2
            int x = 0;
            for (int v : del){
                ans[v] = x;
                x ^= 1;
            }
            return ;
        }
        sfs(sfs,deg2);
        int i = 0;
        for (int i = 0; int v : del){
            int u = *g[v].begin();
            if (ops[i] != -1){
                u = ops[i];
            }
            ans[v] = ans[u]^1;
            i++;
        }
    };
    vector<int> deg2;
    rep(i,0,n){
        g[i].insert(i == n-1 ? 0 : i+1);
        g[i].insert(i == 0 ? n-1 : i-1);
        if (deg(i) == 2){
            deg2.emplace_back(i);
        }
    }
    dfs(dfs,deg2);
    string sans = "";
    rep(i,0,n) sans += (ans[i] == 0 ? 'B' : 'R');
    cout << sans << '\n';
}

int main() {
    std::cin.tie(nullptr);
    std::ios::sync_with_stdio(false);
    int t; cin >> t;
    while (t--){
        solve();
    }
}

詳細信息

Test #1:

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

input:

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

output:

BRB
BBRR
RBBRBR

result:

ok ok (3 test cases)

Test #2:

score: 0
Accepted
time: 157ms
memory: 3632kb

input:

100000
9 6
2 0
4 6
3 6
0 6
0 7
2 6
3 0
5 2
2 4
2 0
6 3
1 5
4 1
2 4
9 6
3 1
6 4
8 1
3 6
1 6
8 6
3 0
7 4
3 0
4 0
6 4
3 1
7 4
5 1
5 0
3 1
1 4
4 1
1 3
6 3
2 4
4 0
2 0
6 3
3 0
1 3
5 3
7 4
0 5
2 5
5 1
3 5
8 5
4 1
5 1
5 0
1 3
5 7
3 0
8 5
0 2
4 6
0 6
0 3
4 0
8 5
5 1
1 4
5 0
3 1
5 7
3 0
10 7
0 2
9 2
5 8
3 9
...

output:

RBBBRBRBR
BRB
BRRRB
RBRBRB
BRBBRBBBR
BRB
RRBBBBR
RRBRBBB
BBRR
RBBRBR
BBRRBR
RRBRBBB
RBBRBRRB
BRB
RBRBBRRB
RBBRBRRB
BRB
BRRBBBRBRR
BBRRRBBR
RBRBRBBRRB
RRBRRBBRBB
RRBRRRBBRB
BRB
RBBRRBR
RBBRRB
RBBRBRRB
BBRR
RBBRBRB
RBBBRBRRBR
BRRRBBB
BRRBBRBR
RBBRRB
RBBRBR
BRB
BRB
BBBRRBRBR
RBRBBBR
RBRBR
RBRBRRRRBB
RB...

result:

ok ok (100000 test cases)

Test #3:

score: 0
Accepted
time: 134ms
memory: 3696kb

input:

100000
8 4
5 3
5 1
6 1
3 1
7 4
5 0
4 1
4 0
3 1
4 0
8 1
4 7
3 0
3 0
8 1
1 3
3 0
9 4
6 0
3 0
3 1
5 0
7 0
6 2
4 2
0 4
7 3
0 3
0 4
1 3
5 1
3 0
10 4
6 8
5 2
1 5
5 3
5 1
1 4
3 0
9 3
5 0
8 6
6 0
3 0
5 2
1 3
1 4
9 0
6 1
4 2
8 1
1 3
5 0
8 2
3 1
6 1
5 1
3 0
8 3
3 0
7 4
7 5
7 2
5 3
1 3
10 3
8 0
0 3
8 5
9 4
3 0...

output:

RBRBRRRB
RBBRBRB
BRBR
RRRBRBRB
BRB
BRB
RBBRBRRB
BRB
BRBRBRRBR
BRBRBRB
BBRBBR
BBRRRBR
BRBRR
BRBBRRBBRB
BBRBR
BRB
BRRRRBRBR
BRB
RRRBB
BRBRBRBRB
RRBBRB
RBBRBRRB
BRBRB
RBBRBRBR
BRBRR
RBRBRBRB
RBRRRBR
BRRBBRBBRB
BRRBRBRBB
RBBRRBRBR
BRBRBR
RBBRRBR
BRB
RBRRRRBRBB
RBRBRB
RBRBBRBRB
RBRRB
BRBRRBRBRB
BRRRB
BRR...

result:

ok ok (100000 test cases)

Test #4:

score: 0
Accepted
time: 441ms
memory: 3868kb

input:

19452
78 75
50 52
61 64
19 21
21 27
52 54
75 5
47 58
15 13
47 66
69 71
66 68
33 36
27 32
15 17
66 60
74 7
63 61
41 13
45 71
30 28
68 71
18 13
13 42
47 55
76 1
19 32
61 66
5 2
22 24
74 71
42 44
59 47
66 46
26 21
49 52
56 58
54 47
52 48
21 25
19 41
10 42
45 74
48 54
39 41
41 18
75 6
39 33
33 37
31 28
...

output:

BRBBRBRRBRBRRBRRRBBRBBBRRBRRBRBRBRBRRBRBRRRBBRRBRRBRBRBRBRRBRBBRBRBRRBRRRBBBRR
BBRBRBRBRRBRBRBRBRBRBBRBRBRBBBRBBRBRBBBRBRRBRBRBRBBRRBRBBRRBRBRBRRBRBRRBBRBBRBRBRBBRBRRR
RBBBRRBRRRBRBRBBBBRRRBRBRBBRBRRBBRRRRBBRBRBRBRBBRRBRRBBRBRRBBRBBBRBBRRRBBBRB
BRBBBRBRRBRBRBBBRBRBRBBRBRBRBRRBBBRRBBRRBBBRBRBBRBRBBBR...

result:

ok ok (19452 test cases)

Test #5:

score: -100
Wrong Answer
time: 303ms
memory: 3680kb

input:

19457
72 56
1 70
0 70
2 70
19 69
64 42
34 32
55 57
22 68
54 48
26 28
41 23
13 10
68 21
62 59
29 26
53 51
30 41
41 38
15 7
66 64
3 15
23 42
47 54
9 7
6 4
47 42
64 22
67 22
17 3
37 35
23 64
30 38
59 61
24 41
70 17
19 70
30 32
17 19
19 21
14 7
2 17
29 24
6 15
69 21
62 55
9 14
16 3
25 29
15 4
53 50
35 3...

output:

RBRBRBBRBRBRBRBBRBRBRBBRBRBBRBRBBRBRRBBRBRBRRRRBRBRRBBRBBRBBRBRBRRBRRRRB
BRBRBRRRBRBBRBRRBRBBRRBRBRBBRRBRRBRBRRRRRRR
RBRRRRRRRRRRRRBRBRBBRBRRBRRRBBRBRBRBRBRBRRRBRRRBRBRRRRRRRRRRRRRRRRRRBRRB
RBBRBRBBRBBRRBRBRRBRBRRBBRRRRRRBRBRBRBBBRRRRRRBRBRRRBRBBBRRBRBRBRBRBRBRRBRBRRBRBRRBRRRB
RBRBRBBRRRBBBRRBRBRBRB...

result:

wrong answer cycle detected (test case 5)