Điều hướng chính

Nhắn tin NQ Coding

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

Bài tập huyhieuduclo

Huy hiệu bị đục lỗ

Dễ DuyệtDFS BFS

  • 100 Điểm
  • 1.0s Thời gian
  • 500M Bộ nhớ
  • 0% Tỉ lệ AC
  • 0 Số AC

Có \(n\) học sinh nghịch ngợm đánh số \(1..n\). Khi giáo viên bắt được học sinh \(i\), em đó sẽ khai ra học sinh \(p_i\) là người chủ mưu. Giáo viên lập tức chuyển sang hỏi học sinh \(p_i\), em này lại khai ra \(p_{p_i}\), và cứ thế tiếp tục. Mỗi lần hỏi một học sinh, giáo viên đục một lỗ trên huy hiệu của em đó. Quy trình dừng ngay khi có một học sinh bị đục lỗ lần thứ hai; học sinh này bị phạt.

Với mỗi \(i\) từ \(1\) đến \(n\), hãy cho biết học sinh nào bị phạt nếu người bị bắt đầu tiên là \(i\).

Input

  • Dòng 1: số nguyên \(n\).
  • Dòng 2: \(n\) số nguyên \(p_1, p_2, \dots, p_n\).

Output

  • In ra \(n\) số nguyên cách nhau dấu cách; số thứ \(i\) là học sinh bị phạt khi người bị bắt đầu tiên là \(i\).

Constraints

  • \(1 \le n \le 1000\).
  • \(1 \le p_i \le n\) (\(p_i = i\) được phép: học sinh tự khai chính mình).

Sample Input

5
2 3 1 3 5

Sample Output

1 2 3 3 5

Explanation

Bắt đầu từ \(1\): đi qua \(1 \to 2 \to 3 \to 1\), học sinh \(1\) bị đục lỗ hai lần. Bắt đầu từ \(4\): \(4 \to 3 \to 1 \to 2 \to 3\), học sinh \(3\) bị phạt. Học sinh \(5\) tự khai chính mình nên bị phạt ngay.

Bình luận

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