trang chủ / đề bài / planetsq2

Hành Tinh (Truy vấn II)

Đề bài

Mô tả

Có n hành tinh, mỗi hành tinh có một cổng dịch chuyển tức thời đến một hành tinh khác (có thể là chính nó). Cho q truy vấn, mỗi truy vấn hỏi: số bước dịch chuyển tối thiểu để đi từ hành tinh a đến hành tinh b. Nếu không thể đến được, in −1.

Dữ liệu vào

  • Dòng 1: hai số nguyên n và q.
  • Dòng 2: n số nguyên t1,t2,…,tn — hành tinh đích của cổng dịch chuyển tại mỗi hành tinh.
  • q dòng tiếp theo: mỗi dòng gồm hai số nguyên a và b.

Dữ liệu ra

In q số nguyên, mỗi số trên một dòng.

Ràng buộc

  • 1≤n,q≤2×105
  • 1≤ti≤n
  • 1≤a,b≤n

Ví dụ

Input Output Giải thích
5 3
2 3 2 3 2
1 2
1 3
1 4
1
2
-1
Từ 1 đến 2: 1 bước. Từ 1 đến 3: 2 bước (1→2→3). Từ 1 không thể đến 4.

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.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0