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

Đường cao tốc siêu không gian

Đề bài

Mô tả

Cho một đồ thị vô hướng đơn liên thông gồm N đỉnh và M cạnh, thoả mãn tính chất đặc biệt sau: với mọi chu trình đơn (đi qua mỗi đỉnh không quá một lần rồi quay về điểm xuất phát), tập hợp các đỉnh trên chu trình tạo thành một đồ thị con đầy đủ (mọi cặp đỉnh trên chu trình đều có cạnh nối trực tiếp).

Q truy vấn. Mỗi truy vấn cho hai đỉnh ab; hãy tính số cạnh ít nhất phải đi qua để di chuyển từ đỉnh a đến đỉnh b.

Dữ liệu vào

  • Dòng đầu tiên chứa ba số nguyên N, M, Q.
  • M dòng tiếp theo, mỗi dòng chứa hai số nguyên uivi (1ui<viN) mô tả một cạnh nối hai đỉnh uivi.
  • Q dòng tiếp theo, mỗi dòng chứa hai số nguyên ajbj (1aj<bjN) mô tả một truy vấn.

Dữ liệu ra

In ra Q dòng, dòng thứ j là số cạnh ít nhất cần đi qua để di chuyển từ đỉnh aj đến đỉnh bj.

Ràng buộc

  • 1N100000
  • 1M500000
  • 1Q200000
  • Đồ thị liên thông, đơn (không có cạnh bội, không có khuyên).
  • Mọi chu trình đơn trong đồ thị đều tạo thành đồ thị con đầy đủ.

Ví dụ

Input Output Giải thích
5 7 2
1 2
1 3
1 4
2 3
2 4
3 4
1 5
1 4
2 5
1
2
Bốn đỉnh {1,2,3,4} tạo thành một đồ thị đầy đủ K4, đỉnh 5 chỉ nối với đỉnh 1. Từ 1 đến 4 có cạnh trực tiếp nên đáp án là 1. Từ 2 đến 5 phải đi qua đỉnh 1, mất 2 cạnh.
8 11 4
1 2
2 3
3 4
4 5
1 3
1 6
3 5
3 7
4 7
5 7
6 8
1 5
2 4
6 7
3 8
2
2
3
3
Các khối đầy đủ trong đồ thị là {1,2,3}, {3,4,5,7}, {1,6}, {6,8}. Đường đi ngắn nhất từ 1 đến 5 đi qua 3 (2 cạnh); từ 6 đến 7 đi qua 13 (3 cạnh).

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