Điều hướng chính

Ngôn ngữ

Phím tắt

/
Chuyển đến ô tìm bài
g p
Đi đến bài tập
g c
Đi đến kỳ thi
g u
Đi đến người dùng
?
Mở trợ giúp phím tắt

Độ giống nhau

Dễ

  • 100 Điểm
  • 0% Tỉ lệ AC
  • 0 Số AC
  • 256M Bộ nhớ giới hạn
  • 2.0s Giới hạn thời gian

Cho hai cây \(A\) và \(B\) đều gồm \(n\) đỉnh, mỗi đỉnh được đánh số từ \(1\) đến \(n\). Với mỗi cây, bạn được biết thông tin về cha của từng đỉnh:

  • Trên cây \(A\), \(a_i\) là cha của đỉnh \(i\). Nếu \(u\) là gốc cây \(A\) thì \(a_u = -1\).
  • Trên cây \(B\), \(b_i\) là cha của đỉnh \(i\). Nếu \(v\) là gốc cây \(B\) thì \(b_v = -1\).

Một đỉnh \(x\) được gọi là tổ tiên của đỉnh \(y\) trên một cây nếu tồn tại một dãy các đỉnh \(z_1, z_2, \dots, z_k\) sao cho \(z_1 = x\), \(z_k = y\) và với mỗi \(j\), \(z_j\) là cha của \(z_{j+1}\).

Một cặp đỉnh \((u, v)\) được gọi là thỏa mãn nếu \(u\) là tổ tiên của \(v\) trên cả cây \(A\) và cây \(B\).

Nhiệm vụ: Hãy đếm xem có bao nhiêu cặp \((u, v)\) thỏa mãn như vậy.

\InputFile

  • Dòng đầu tiên chứa số nguyên \(n\) \((1 \le n \le 10^6)\).
  • \(n\) dòng tiếp theo, dòng thứ \(i\) chứa hai số nguyên \(a_i\) và \(b_i\) --- cha của đỉnh \(i\) trên cây \(A\) và cây \(B\) \((1 \le a_i, b_i \le n\) hoặc \(-1\) nếu là gốc).

\OutputFile

  • In ra một số nguyên duy nhất --- số cặp \((u, v)\) sao cho \(u\) là tổ tiên của \(v\) trên cả hai cây.

\Scoring

  • Subtask 1 (25%): \(n \le 100\)
  • Subtask 2 (25%): \(n \le 2000\)
  • Subtask 3 (25%): \(n \le 10^5\)
  • Subtask 4 (25%): Không có giới hạn thêm

Example

Test 1

Input
3
-1 -1
1 3
1 1
Output
2

Bình luận

Chưa có bình luận nào.