| 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 ... |
