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

Mocha và Diana

Đề bài

Mô tả

Một rừng là một đồ thị vô hướng không có chu trình (không bắt buộc liên thông).

Mocha và Diana đều có một rừng với n đỉnh được đánh số từ 1 đến n. Họ muốn thêm các cạnh vào rừng của mình sao cho:

  • Sau khi thêm, cả hai đồ thị vẫn là rừng (không xuất hiện chu trình).
  • Họ phải thêm các cạnh giống hệt nhau: nếu cạnh (u,v) được thêm vào rừng của Mocha thì cạnh (u,v) cũng được thêm vào rừng của Diana, và ngược lại.

Hãy tìm số lượng cạnh tối đa có thể thêm và liệt kê các cạnh đó.

Dữ liệu vào

  • Dòng đầu chứa ba số nguyên n, m1, m2 (1n1000; 0m1,m2<n) — số đỉnh và số cạnh ban đầu trong rừng của Mocha và Diana.
  • m1 dòng tiếp theo, mỗi dòng chứa hai số nguyên uv (1u,vn; uv) — một cạnh trong rừng của Mocha.
  • m2 dòng tiếp theo, mỗi dòng chứa hai số nguyên uv (1u,vn; uv) — một cạnh trong rừng của Diana.

Dữ liệu đảm bảo cả hai đồ thị ban đầu đều là rừng.

Dữ liệu ra

  • Dòng đầu chứa một số nguyên h — số cạnh tối đa có thể thêm.
  • h dòng tiếp theo, mỗi dòng chứa hai số nguyên uv (1u,vn; uv) — cạnh thứ i được thêm.

Nếu có nhiều đáp án thỏa mãn, in ra bất kỳ.

Ví dụ

Input Output Giải thích
8 1 2
1 7
2 6
1 5
5
1 2
1 3
1 4
1 8
5 7
Có thể thêm 5 cạnh sao cho cả hai rừng vẫn không có chu trình. Đây là một đáp án hợp lệ; vẫn còn nhiều đáp án khác.
5 3 2
5 4
2 1
4 3
4 3
1 4
1
1 5
Rừng Mocha có hai thành phần {1,2}{3,4,5}; rừng Diana có hai thành phần {1,3,4}{2} với một đỉnh 5 cô lập. Cạnh (1,5) nối hai thành phần trong cả hai rừng mà không tạo chu trình.
3 2 2
1 2
2 3
1 2
1 3
0 Rừng Mocha là chuỗi 1-2-3, rừng Diana cũng là cây gồm cạnh 1-21-3. Cả hai đã liên thông nên không thể thêm cạnh nào.

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