TREAT - Cho kẹo hay bị phá nào

Giới hạn
  • Thời gian: 0.2s
  • Bộ nhớ: 1536MB
  • Mã nguồn: 50000 bytes

Ghi chú: Các bài VNOI đã được chuyển qua VNOJ (Thông báo). Đề bài trên VNOI và vn.spoj.com sẽ không được cập nhật nữa. Một số đề bài không chính xác sẽ chỉ được cập nhật trên VNOJ. Bạn vẫn có thể tìm kiếm đề bài trên VNOI.

Link đọc đề trên VNOJ

Hằng năm ở Wisconsin tụi bò lại tổ chức ngày hội Halloween vào kỳ nghỉ Thu. Chúng sẽ mặc đồ hóa trang và đi xin kẹo nông dân John đã đặt trong N (1 <= N <= 100,000) chuồng bò (để thuận tiện ta đánh số các chuồng bò từ 1 -> N).

Để cho lũ bò chơi vui hơn, ở chuồng i John sẽ cắm 1 biển báo next_i (1 <= next_i <= N) cho biết sau khi xin kẹo ở chuồng i thì bò sẽ phải tiếp tục đi tới chuồng next_i để xin kẹo tiếp.

Bò i sẽ bắt đầu xin kẹo từ chuồng i. Và một con bò sẽ dừng việc xin kẹo nếu nó đi tới 1 chuồng mà nó đã từng đi qua rồi.

Tính xem mỗi con bò sẽ xin được bao nhiêu kẹo, biết rằng ở mỗi chuồng chúng chỉ xin được 1 viên kẹo mà thôi.

QUY CÁCH NHẬP DỮ LIỆU

  • Dòng 1: Một số nguyên duy nhất: N
  • Dòng 2..N+1: Dòng i+1 gồm 1 số nguyên duy nhất: next_i

VÍ DỤ

4
1
3
2
3

QUY CÁCH GHI KẾT QUẢ

  • Dòng 1..N: Dòng i chứa 1 số nguyên là số kẹo mà bò i nhận được

VÍ DỤ

1
2
2
3


  • Người up: paulmcvn
  • Nguồn bài: USACO December 2008 - Gold Division