QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#429575 | #8544. Colorful Graph 2 | zlxFTH# | WA | 64ms | 3572kb | C++14 | 1.0kb | 2024-06-02 17:21:18 | 2024-06-02 17:21:18 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
void solve() {
int n, m;
cin >> n >> m;
vector<vector<int>> adj(n);
for (int i = 0; i < m; ++i) {
int u, v;
cin >> u >> v;
adj[u].push_back(v);
adj[v].push_back(u);
}
vector<int> col(n, -1);
auto dfs = [&](auto self, int u, int c)->void {
col[u] = c;
for (auto v : adj[u]) {
if (~col[v]) continue;
self(self, v, c ^ 1);
}
};
for (int i = 0; i < n; ++i) {
if (adj[i].size() && col[i] == -1)
dfs(dfs, i, 0);
}
if (!m) {
for (int i = 0; i < n; ++i)
col[i] = i % 2;
} else {
for (int i = 0; i < n; ++i) {
if (col[i] == -1) continue;
int c = col[i];
for (int j = (i + 1) % n; col[j] == -1; j = (j + 1) % n)
col[j] = (c ^= 1);
}
}
for (int i = 0; i < n; ++i)
cout << (col[i] == 0 ? 'R' : 'B');
cout << "\n";
}
int main() {
cin.tie(0)->sync_with_stdio(0);
int t;
cin >> t;
while (t--)
solve();
return 0;
}
详细
Test #1:
score: 100
Accepted
time: 0ms
memory: 3572kb
input:
3 3 0 4 1 1 3 6 3 0 2 2 4 4 0
output:
RBR RRBB RBBRRB
result:
ok ok (3 test cases)
Test #2:
score: -100
Wrong Answer
time: 64ms
memory: 3528kb
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:
RBBBBRRBR RBR RBBRR RRRBBB RRBBBRRBB RBR RRBBBRR RRBBBBR RRBB RBRBBR RRBBRR RRRRBBR RRBBBBRR RBR RBBBRBBR RRBBBBRR RBR RBBBBBBRRR RRBRRBBB RRRRRRBBBB RRRRRBBBBB RBBBRBBBRR RBR RRBRRBB RRBBBB RBBRRRRR RRBB RBBBRRR RRRRRBBBBB RRRRBBB RRBRRBBB RRBBBB RBBRRB RBR RBR RRBBBRRRB RRRBBRR RRBBR BRRRBBBRRR RR...
result:
wrong answer cycle detected (test case 47)