Submission #14633111


Source Code Expand

# Studying https://atcoder.jp/contests/arc097/submissions/13758236

N,M,K = gets.split.map(&:to_i)

友達の輪と大きさ = [-1]*(N+1)
輪 = lambda{|a|
	next 友達の輪と大きさ[a]<0 ? a : 友達の輪と大きさ[a]=輪[友達の輪と大きさ[a]]
}
輪の大きさ = lambda{|a|
	next -友達の輪と大きさ[輪[a]]
}
友達です = lambda{|*ab|
	a,b = ab.map(&輪)
	next if a==b
	a,b = b,a if 友達の輪と大きさ[b]<友達の輪と大きさ[a]
	友達の輪と大きさ[a] += 友達の輪と大きさ[b]
	友達の輪と大きさ[b] = a
}

友達の数 = [0]*(N+1)

M.times{
	a,b = gets.split.map(&:to_i)
	友達です[a,b]
	友達の数[a] += 1
	友達の数[b] += 1
}

友達の輪の中の目障りなあいつ = [0]*(N+1)

K.times{
	a,b = gets.split.map(&:to_i)
	next if 輪[a]!=輪[b]
	友達の輪の中の目障りなあいつ[a] += 1
	友達の輪の中の目障りなあいつ[b] += 1
}

puts 1.upto(N).map{|n|
	輪の大きさ[n] - 1 - 友達の数[n] - 友達の輪の中の目障りなあいつ[n]
}

Submission Info

Submission Time
Task D - Friend Suggestions
User ds14050
Language Ruby (2.7.1)
Score 400
Code Size 1071 Byte
Status AC
Exec Time 338 ms
Memory 17688 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 400 / 400
Status
AC × 3
AC × 30
Set Name Test Cases
Sample 00-sample-00, 00-sample-01, 00-sample-02
All 00-sample-00, 00-sample-01, 00-sample-02, 01-handmade-00, 01-handmade-01, 01-handmade-02, 01-handmade-03, 01-handmade-04, 01-handmade-05, 01-handmade-06, 02-small-00, 02-small-01, 02-small-02, 02-small-03, 02-small-04, 02-small-05, 02-small-06, 02-small-07, 02-small-08, 02-small-09, 03-large-00, 03-large-01, 03-large-02, 03-large-03, 03-large-04, 03-large-05, 03-large-06, 03-large-07, 03-large-08, 03-large-09
Case Name Status Exec Time Memory
00-sample-00 AC 63 ms 14228 KiB
00-sample-01 AC 62 ms 14300 KiB
00-sample-02 AC 59 ms 14148 KiB
01-handmade-00 AC 60 ms 14212 KiB
01-handmade-01 AC 66 ms 14212 KiB
01-handmade-02 AC 194 ms 16440 KiB
01-handmade-03 AC 143 ms 16472 KiB
01-handmade-04 AC 338 ms 17532 KiB
01-handmade-05 AC 336 ms 17440 KiB
01-handmade-06 AC 319 ms 17688 KiB
02-small-00 AC 57 ms 14128 KiB
02-small-01 AC 59 ms 14316 KiB
02-small-02 AC 57 ms 14192 KiB
02-small-03 AC 70 ms 14176 KiB
02-small-04 AC 63 ms 14240 KiB
02-small-05 AC 63 ms 14356 KiB
02-small-06 AC 59 ms 14192 KiB
02-small-07 AC 58 ms 14180 KiB
02-small-08 AC 65 ms 14180 KiB
02-small-09 AC 62 ms 14020 KiB
03-large-00 AC 255 ms 16564 KiB
03-large-01 AC 284 ms 16904 KiB
03-large-02 AC 258 ms 16288 KiB
03-large-03 AC 255 ms 17212 KiB
03-large-04 AC 248 ms 16576 KiB
03-large-05 AC 248 ms 16768 KiB
03-large-06 AC 243 ms 16456 KiB
03-large-07 AC 275 ms 16788 KiB
03-large-08 AC 298 ms 17428 KiB
03-large-09 AC 335 ms 17388 KiB