Task: | Graph painting |
Sender: | Noname 01 |
Submission time: | 2016-05-28 12:59:41 +0300 |
Language: | C++ |
Status: | READY |
Result: | ACCEPTED |
test | verdict | time | |
---|---|---|---|
#1 | ACCEPTED | 0.04 s | details |
#2 | ACCEPTED | 0.05 s | details |
#3 | ACCEPTED | 0.11 s | details |
Code
// NONAME-01 #include <bits/stdc++.h> using namespace std; int n, m; vector< vector<int> > nxt; vector <int> col; void Load() { cin >> n >> m; nxt.resize(n); int i; for (i = 0; i < n; i++) nxt.resize(0); for (i = 0; i < m; i++) { int a, b; cin >> a >> b; a--; b--; nxt[a].push_back(b); nxt[b].push_back(a); } } void Solve() { int i, j; col.resize(n); col[0] = 0; int a, b; for (i = 1; i < n; i++) { a = 0; b = 0; for (j = 0; j < (int)nxt[i].size();j++) { int k = nxt[i][j]; if (k > i) continue; if (col[k] == 0) a++; else b++; } if (a > b) { col[i] = 1; } else { col[i] = 0; } } for (i = 0; i < n; i++) { if ( col[i] == 0) cout << "R "; else cout << "B "; } cout << "\n"; } int main() { ios_base::sync_with_stdio(0); cin.tie(0); int nt, tt; cin >> nt; for (tt = 0; tt < nt; tt++) { Load(); Solve(); } return 0; }
Test details
Test 1
Verdict: ACCEPTED
input |
---|
100 7 1 2 5 8 28 2 7 ... |
correct output |
---|
B R B B B B R R B B R B R B B R R B B B B R R R B B B R B R B B B B R B R R B R ... |
user output |
---|
R R R R B R R R B R B R B R B R B R B R R R R B R R B R B R B R B B R R R B B R ... |
Test 2
Verdict: ACCEPTED
input |
---|
10 38 36 18 28 20 37 22 38 ... |
correct output |
---|
R R B R B R R R R R B B R B R ... |
user output |
---|
R R R R R R R R R R B R R R R ... |
Test 3
Verdict: ACCEPTED
input |
---|
1 100000 200000 89300 98492 33853 56822 92967 99427 ... |
correct output |
---|
R R R R B R R R B B B R B B B ... |
user output |
---|
R R R R R R R R R R R R R R R ... |