Chuyền tin nhắn

Đề bài

Mô tả

N con bò được đánh số từ 1 đến N. Mỗi con bò i có thể chuyển tin nhắn đến đúng một con bò khác F(i). Nếu F(i)=0, bò i không chuyển tin tiếp.

Một con bò gọi là không bị vòng lặp (non-loopy) nếu tin nhắn xuất phát từ nó sẽ kết thúc sau hữu hạn bước (không bị mắc kẹt trong vòng lặp vô hạn). Hãy đếm số con bò không bị vòng lặp.

Dữ liệu vào

  • Dòng 1: Số nguyên N
  • Dòng i+1 (với 1iN): Giá trị F(i) — con bò mà bò i chuyển tin đến (hoặc 0 nếu không chuyển tiếp)

Dữ liệu ra

  • Một số nguyên duy nhất: số con bò không bị vòng lặp

Ràng buộc

  • 1N1000
  • 0F(i)N

Ví dụ

Input Output Giải thích
5
0
4
1
5
4
2 Bò 1 không chuyển tiếp (không bị vòng). Bò 3 → bò 1 (không bị vòng). Bò 2 → bò 4 → bò 5 → bò 4 tạo thành vòng lặp.
1
0
1 Chỉ có 1 bò và nó không chuyển tiếp, nên không bị vòng.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0