trang chủ / bài tập / thechase

The Chase

Đề bài

Mô tả

Bessie cố gắng trốn thoát khỏi các nông dân trên N trang trại được nối bởi đường một chiều. Mỗi trang trại i có đúng một đường đi đến trang trại ai (với aii).

  • F nông dân bắt đầu tại các vị trí s1,s2,,sF (đôi một khác nhau). Mỗi bước thời gian, tất cả nông dân đồng thời di chuyển theo đường đi duy nhất từ vị trí hiện tại.

Bessie chọn trang trại bắt đầu b và mỗi bước có thể chọn nghỉ (ở yên) hoặc di chuyển (theo đường đi). Bessie di chuyển đồng thời với nông dân. Bessie bị bắt nếu cô ở cùng trang trại với bất kỳ nông dân nào tại bất kỳ thời điểm nào.

Với mỗi trang trại b từ 1 đến N, hãy tìm số lần tối đa Bessie có thể chọn nghỉ.

Dữ liệu vào

  • Dòng 1: Hai số nguyên N (2N5×105) và F (1FN).
  • Dòng 2: N số nguyên a1,a2,,aN (aii).
  • Dòng 3: F số nguyên s1,s2,,sF (đôi một khác nhau).

Dữ liệu ra

In N dòng, dòng thứ b chứa một số nguyên:

  • Số lần nghỉ tối đa nếu hữu hạn.
  • 1 nếu Bessie bị bắt ngay lập tức hoặc không thể tránh.
  • 2 nếu Bessie có thể nghỉ vô hạn lần.

Ràng buộc

  • 2N5×105
  • 1FN
  • aii
  • Các si đôi một khác nhau

Ví dụ

Input Output Giải thích
4 1
2 1 4 3
1
-1
0
-2
-2
Nông dân ở trang trại 1, di chuyển 1->2->1->2... Trang trại 1: bị bắt ngay (-1). Trang trại 2: phải di chuyển ngay bước đầu để tránh nông dân đến (0 lần nghỉ). Trang trại 3,4: chu kỳ 3->4->3, nông dân không bao giờ đến (-2).

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