CSES - HIIT Open 2016 - Results
Submission details
Task:Graph painting
Sender:Verto
Submission time:2016-05-28 13:09:34 +0300
Language:Python2
Status:READY
Result:
Test results
testverdicttime
#1ACCEPTED0.06 sdetails
#2ACCEPTED0.05 sdetails
#3--details

Code

import sys
def asints(s):
return [int(x.strip()) for x in s.split()]
def asoneint(s):
return int(s.strip())
lines = sys.stdin.readlines()
class Node:
def __init__(self, name):
self.name = name
self.neighbors = []
self.color = None
def connect(self, other):
self.neighbors.append(other)
other.neighbors.append(self)
def debug(self):
print "{}: {}".format(self.name, [x.name for x in self.neighbors])
t = asoneint(lines[0])
linei = 1
for testi in range(t):
nodes = {}
n, m = asints(lines[linei])
linei += 1
for i in range(1, n+1):
nodes[i] = Node(i)
for i in range(m):
a, b = asints(lines[linei])
linei += 1
nodes[a].connect(nodes[b])
#for node in nodes.values():
# node.debug()
#print
for node in nodes.values():
n_red = 0
n_blue = 0
for neigh in node.neighbors:
if neigh.color is None:
continue
elif neigh.color == 'R':
n_red += 1
else:
n_blue += 1
if n_red > n_blue:
node.color = 'B'
else:
node.color = 'R'
for node in sorted(nodes.values(), key=lambda x:x.name):
print node.color,
print

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:

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
(empty)