1954 - NHÓM BẠN THÂN

Tạo bởi: GV. Nguyễn Huy Cường

Mô tả yêu cầu

Networking (mở rộng và duy trì mối quan hệ) là một điều cực kỳ quan trọng, đặc biệt là khi ra trường đi làm sau này. Khi càng có nhiều mối quan hệ tốt thì các bạn sẽ càng dễ có được những lời khuyên hữu ích, nhận được sự hướng dẫn, giúp đỡ, hỗ trợ từ những người xung quanh, giúp công việc của mình được thuận lợi hơn.

Trong một lớp học có N sinh viên, mỗi sinh viên đều có một người bạn thân nhất. Danh sách bạn thân được biểu diễn bằng mảng P, trong đó P[i] là số thứ tự của bạn thân của học sinh i. Mỗi nhóm bạn thân có thể tạo thành một vòng kết bạn, tức là một nhóm sinh viên sẽ chơi chung với nhau mà không có kết nối với sinh viên ngoài nhóm.

Hãy xác định có bao nhiêu nhóm bạn thân trong lớp học?

Dữ liệu vào

• Dòng đầu tiên chứa số nguyên N (1 ≤ N ≤ 10⁶), số sinh viên trong lớp. • Dòng tiếp theo chứa N số nguyên P₁, P₂, ..., Pₙ, trong đó P[i] là số thứ tự của bạn thân của học sinh i.

Dữ liệu ra

• In ra số nhóm bạn thân có thể đếm được của lớp học.

Ví dụ

Dữ liệu vào Sao chép
5  
2 3 1 5 4
Dữ liệu ra Sao chép
2
Dữ liệu vào Sao chép
6
6 5 4 3 2 1
Dữ liệu ra Sao chép
3

Gợi ý/Hướng dẫn

  • Với dữ liệu đầu vào 1 Có 2 nhóm tìm được: Nhóm 1 gồm các Sinh viên (1, 3, 2) và Nhóm 2 gồm SV (4, 5)
  • Với dữ liệu đầu vào 2 Có 3 nhóm tìm được: Nhóm 1 (1,6) Nhóm 2 (2,5), Nhóm 3 (3,4)
Đăng nhập để làm bài
Thông tin
Giới hạn thời gian 1 giây
Giới hạn bộ nhớ 128 MB