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

Móng và Não

Đề bài

Mô tả

Cho một đồ thị có hướng gồm N đỉnh và M cạnh. Hai người chơi NãoMóng cùng đặt hai quân cờ trên đồ thị (quân của mỗi người tại một đỉnh khác nhau). Họ thực hiện các bước đi luân phiên nhau như sau: mỗi bước, Não chọn một trong hai quân cờ, rồi Móng phải di chuyển quân cờ đó dọc theo một cạnh ra của đỉnh đó.

Quy tắc chiến thắng:

  • Não thắng nếu Móng không thể di chuyển (quân cờ được chọn đang ở đỉnh không có cạnh ra, hoặc cạnh ra duy nhất dẫn đến đỉnh có quân còn lại).
  • Móng thắng nếu trò chơi kéo dài mãi mãi.

Hai quân cờ không được phép cùng đứng trên một đỉnh. Nếu Móng bị buộc di chuyển đến đỉnh có quân kia, trò chơi kết thúc và Não thắng (vì Móng không có nước đi hợp lệ).

Cho Q truy vấn, mỗi truy vấn cho hai đỉnh xuất phát (x,y) của hai quân cờ, hãy xác định ai thắng khi cả hai chơi tối ưu.

Dữ liệu vào

  • Dòng đầu: hai số nguyên NM (2N105, 1M2×105).
  • M dòng tiếp theo: mỗi dòng gồm hai số nguyên ab — cạnh có hướng từ a đến b.
  • Dòng tiếp theo: số nguyên Q (1Q105).
  • Q dòng tiếp theo: mỗi dòng gồm hai số nguyên xy (xy) — vị trí xuất phát của hai quân cờ.

Đồ thị không có khuyên và không có cạnh bội.

Dữ liệu ra

Một xâu ký tự độ dài Q. Ký tự thứ iB nếu Não thắng truy vấn thứ i, ngược lại là H.

Ràng buộc

  • 2N105
  • 1M2×105
  • 1Q105
  • Test 2–3: N100, M200
  • Test 4–9: N5000
  • Test 10–21: không có ràng buộc thêm

Ví dụ

Input Output Giải thích
9 10
1 2
2 3
3 4
4 7
3 5
1 6
6 8
8 9
9 6
7 2
4
1 5
1 2
1 6
2 4
BHHB Truy vấn 1: Não thắng vì đỉnh 5 không có cạnh ra. Truy vấn 2–3: Móng có thể đi mãi vòng. Truy vấn 4: Não thắng vì đỉnh 5 (đỉnh duy nhất không có cạnh ra trong thành phần liên quan) được nối vào chuỗi từ đỉnh 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.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