Task: | Graph painting |
Sender: | Verto |
Submission time: | 2016-05-28 15:00:25 +0300 |
Language: | C++ |
Status: | READY |
Result: | ACCEPTED |
test | verdict | time | |
---|---|---|---|
#1 | ACCEPTED | 0.06 s | details |
#2 | ACCEPTED | 0.05 s | details |
#3 | ACCEPTED | 0.24 s | details |
Code
#include <iostream> #include <string> #include <vector> using namespace std; class Node { public: vector<Node*> neighbors; int name; char color; // Constructor TODO Node(int name_) { name = name_; color = '-'; } void connect(Node* other) { neighbors.push_back(other); other->neighbors.push_back(this); } }; int main() { int t; cin >> t; for (int i = 0; i < t; i++) { int n,m; cin >> n >> m; vector<Node*> nodes; for(int j = 0; j < n; j++) nodes.push_back(new Node(j)); for(int j=0; j<m; j++) { int u,v; cin >> u >> v; nodes[u-1]->connect(nodes[v-1]); } for(auto node : nodes) { int n_red = 0; int n_blue = 0; for(auto neigh : node->neighbors) { if(neigh->color == 'R') n_red += 1; else if(neigh->color == 'B') n_blue++; } if(n_red > n_blue) node->color = 'B'; else node->color = 'R'; cout << node->color << " "; } cout << endl; } }
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 ... |