CSES - HIIT Open 2016 - Results
Submission details
Task:Graph painting
Sender:Noname 01
Submission time:2016-05-28 12:59:41 +0300
Language:C++
Status:READY
Result:ACCEPTED
Test results
testverdicttime
#1ACCEPTED0.04 sdetails
#2ACCEPTED0.05 sdetails
#3ACCEPTED0.11 sdetails

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