Submission #22109995


Source Code Expand

(N,M),*AB = $<.map{|ln| ln.split.map(&:to_i) }

E = [0]*(N+1)
AB.each{|a,b|
	E[a] |= 1<<b
	E[b] |= 1<<a
}

G = [-1]*(N+1)
F = lambda{|a|
	G[a]<0 ? a : G[a] = F[G[a]]
}
U = lambda{|ab|
	a,b = ab.map(&F)
	next if a==b
	a,b = b,a if G[b]<G[a]
	G[a] += G[b]
	G[b] = a
}
AB.each(&U)

V = (1..N).sort_by{|v| -E[v].to_s(2).count(?1) }.group_by(&F).values
S = lambda{|vs|
	(v0,e0), = vs = vs.map{|v| [1<<v,E[v]] }
	c0,c1,c2 = v0,0,0
	n0,n1,n2 = e0,0,0
	cnt = lambda{|i|
		next 1 unless (v,e = vs[i])
		next 0 if v <= n0&n1&n2
		s = 0
		c0,n0,_,_,s = c0,n0,(c0|=v),(n0|=e),s+cnt[i+1] if c0&e < 1
		c1,n1,_,_,s = c1,n1,(c1|=v),(n1|=e),s+cnt[i+1] if c1&e < 1
		c2,n2,_,_,s = c2,n2,(c2|=v),(n2|=e),s+cnt[i+1] if c2&e < 1
		next s
	}
	next 3*cnt[1]
}
p V.map(&S).inject:*

Submission Info

Submission Time
Task D - RGB Coloring 2
User ds14050
Language Ruby (2.7.1)
Score 400
Code Size 797 Byte
Status AC
Exec Time 238 ms
Memory 14352 KiB

Judge Result

Set Name Sample All After_contest
Score / Max Score 0 / 0 400 / 400 0 / 0
Status
AC × 4
AC × 48
AC × 1
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt
All few_hen_00.txt, few_hen_01.txt, few_hen_02.txt, few_hen_03.txt, few_hen_04.txt, few_hen_05.txt, few_hen_06.txt, few_hen_07.txt, manual_00.txt, manual_01.txt, manual_02.txt, random_00.txt, random_01.txt, random_02.txt, random_03.txt, random_04.txt, random_05.txt, random_06.txt, random_07.txt, random_08.txt, random_09.txt, random_10.txt, random_11.txt, random_12.txt, random_13.txt, random_14.txt, random_15.txt, random_16.txt, random_17.txt, random_18.txt, random_19.txt, random_20.txt, random_21.txt, random_22.txt, random_23.txt, sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt, tree_00.txt, tree_01.txt, tree_02.txt, tree_03.txt, tree_04.txt, tree_05.txt, tree_06.txt, tree_07.txt, tree_08.txt
After_contest after_contest_01.txt
Case Name Status Exec Time Memory
after_contest_01.txt AC 211 ms 14080 KiB
few_hen_00.txt AC 60 ms 14228 KiB
few_hen_01.txt AC 63 ms 14096 KiB
few_hen_02.txt AC 62 ms 14252 KiB
few_hen_03.txt AC 62 ms 14124 KiB
few_hen_04.txt AC 61 ms 14168 KiB
few_hen_05.txt AC 61 ms 14184 KiB
few_hen_06.txt AC 63 ms 14144 KiB
few_hen_07.txt AC 56 ms 14128 KiB
manual_00.txt AC 63 ms 14192 KiB
manual_01.txt AC 63 ms 14272 KiB
manual_02.txt AC 63 ms 14264 KiB
random_00.txt AC 63 ms 14156 KiB
random_01.txt AC 63 ms 14156 KiB
random_02.txt AC 62 ms 14244 KiB
random_03.txt AC 61 ms 14136 KiB
random_04.txt AC 65 ms 14208 KiB
random_05.txt AC 63 ms 14088 KiB
random_06.txt AC 63 ms 14136 KiB
random_07.txt AC 60 ms 14200 KiB
random_08.txt AC 63 ms 14116 KiB
random_09.txt AC 62 ms 14292 KiB
random_10.txt AC 58 ms 14144 KiB
random_11.txt AC 62 ms 14168 KiB
random_12.txt AC 63 ms 14256 KiB
random_13.txt AC 63 ms 14352 KiB
random_14.txt AC 63 ms 14064 KiB
random_15.txt AC 60 ms 14148 KiB
random_16.txt AC 63 ms 14152 KiB
random_17.txt AC 60 ms 14208 KiB
random_18.txt AC 62 ms 14204 KiB
random_19.txt AC 60 ms 14196 KiB
random_20.txt AC 61 ms 14216 KiB
random_21.txt AC 59 ms 14060 KiB
random_22.txt AC 56 ms 14076 KiB
random_23.txt AC 64 ms 14160 KiB
sample_01.txt AC 63 ms 14248 KiB
sample_02.txt AC 63 ms 14092 KiB
sample_03.txt AC 61 ms 14244 KiB
sample_04.txt AC 63 ms 14236 KiB
tree_00.txt AC 131 ms 13988 KiB
tree_01.txt AC 185 ms 14280 KiB
tree_02.txt AC 171 ms 14152 KiB
tree_03.txt AC 137 ms 14144 KiB
tree_04.txt AC 64 ms 14260 KiB
tree_05.txt AC 70 ms 14300 KiB
tree_06.txt AC 212 ms 14196 KiB
tree_07.txt AC 238 ms 14140 KiB
tree_08.txt AC 209 ms 14252 KiB