Submission #3445148


Source Code Expand

# ランク無し実装

class UnionFind

  def initialize(n)
    @p = *0...n
  end

  def find(x)
    @p[x] == x ? x : @p[x] = find(@p[x])
  end

  def unite(x, y)
    x = find(x)
    y = find(y)
    return if x == y
    @p[x] = y
    nil
  end

  def same(x, y)
    find(x) == find(y)
  end

end

n, q = gets.split.map(&:to_i)

uf = UnionFind.new(n)

q.times do
  p, a, b = gets.split.map(&:to_i)
  case p
  when 0 then uf.unite(a, b)
  when 1 then puts uf.same(a, b) ? "Yes": "No"
  end
end

Submission Info

Submission Time
Task B - Union Find
User n4o847
Language Ruby (2.3.3)
Score 100
Code Size 494 Byte
Status AC
Exec Time 538 ms
Memory 3452 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 100 / 100
Status
AC × 1
AC × 19
Set Name Test Cases
Sample 00_sample_01.txt
All 00_sample_01.txt, subtask_01_01.txt, subtask_01_02.txt, subtask_01_03.txt, subtask_01_04.txt, subtask_01_05.txt, subtask_01_06.txt, subtask_01_07.txt, subtask_01_08.txt, subtask_01_09.txt, subtask_01_10.txt, subtask_01_11.txt, subtask_01_12.txt, subtask_01_13.txt, subtask_01_14.txt, subtask_01_15.txt, subtask_01_16.txt, subtask_01_17.txt, subtask_01_18.txt
Case Name Status Exec Time Memory
00_sample_01.txt AC 7 ms 1788 KB
subtask_01_01.txt AC 270 ms 2300 KB
subtask_01_02.txt AC 11 ms 3452 KB
subtask_01_03.txt AC 419 ms 2556 KB
subtask_01_04.txt AC 448 ms 3452 KB
subtask_01_05.txt AC 37 ms 1788 KB
subtask_01_06.txt AC 41 ms 3452 KB
subtask_01_07.txt AC 435 ms 2428 KB
subtask_01_08.txt AC 451 ms 3452 KB
subtask_01_09.txt AC 7 ms 1788 KB
subtask_01_10.txt AC 11 ms 3452 KB
subtask_01_11.txt AC 424 ms 2428 KB
subtask_01_12.txt AC 467 ms 3452 KB
subtask_01_13.txt AC 360 ms 2300 KB
subtask_01_14.txt AC 13 ms 3452 KB
subtask_01_15.txt AC 454 ms 2428 KB
subtask_01_16.txt AC 460 ms 3452 KB
subtask_01_17.txt AC 538 ms 3452 KB
subtask_01_18.txt AC 449 ms 3452 KB