QOJ.ac

QOJ

Time Limit: 2.0 s Memory Limit: 512 MB Total points: 100 Hackable ✓

#7320. Cây nguyên tố

Statistics

Bobo đề xuất một phép nhân trên các cây có gốc.

Cho $A$ và $B$ là hai cây có gốc bất kỳ. Khi đó, $T=A\cdot B$ được xây dựng bằng cách tạo một bản sao của $B$ cho mỗi đỉnh $x\in A$ và gộp gốc của bản sao này với $x$ (xem hình dưới đây để biết thêm chi tiết). Khi đó, ta gọi $A$ và $B$ là các thừa số của $T$.

problem_7320_352fd74c82eab3165f5441eff6daa8d7.png

Hiển nhiên, ta có $T\cdot\mathbf{1}=\mathbf{1}\cdot T=T$, trong đó $\mathbf{1}$ là cây có gốc chỉ gồm một đỉnh. Vì vậy, $\mathbf{1}$ là thừa số của mọi cây có gốc, và mọi cây có gốc đều là thừa số của chính nó. Nếu một cây có gốc $T$ chỉ có $T$ và $\mathbf{1}$ là các thừa số, ta gọi $T$ là một cây nguyên tố.

Bobo có một cây có gốc $T$ với $n$ đỉnh được đánh số thuận tiện là $1,2,\ldots,n$. Cậu muốn phân tích $T$ thành tích của càng nhiều cây nguyên tố càng tốt (nghĩa là tìm một đẳng thức $T=T_1\cdot T_2\cdots T_m$, trong đó $T_i$ ($1\le i\le m$) là các cây nguyên tố và $m$ lớn nhất có thể).

Lưu ý rằng $\mathbf{1}$ không phải là cây nguyên tố.

Dữ liệu vào

Đầu vào chứa không hoặc nhiều bộ dữ liệu thử và kết thúc khi hết tệp. Với mỗi bộ dữ liệu thử:

Dòng đầu tiên chứa một số nguyên $n$, là số đỉnh ($2\le n\le 10^6$).

Dòng thứ hai chứa $(n-1)$ số nguyên $p_2,p_3,\ldots,p_n$, trong đó $p_i$ là cha của đỉnh thứ $i$ ($1\le p_i\le i-1$).

Tổng tất cả các giá trị $n$ được đảm bảo không vượt quá $10^6$.

Dữ liệu ra

Với mỗi bộ dữ liệu thử, in ra một số nguyên biểu thị số lượng thừa số nguyên tố lớn nhất.

Ví dụ

Dữ liệu vào 1

12
1 1 1 1 2 2 4 5 5 6 10
3
1 1
6
1 1 1 2 3
13
1 1 1 2 2 3 3 4 5 6 7 8

Dữ liệu ra 1

3
1
2
1

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.