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

Cây thần thánh

Đề bài

Mô tả

Cho số nguyên n. Bạn cần xây dựng một cây gồm n đỉnh (cây là đồ thị vô hướng liên thông có n đỉnh và n1 cạnh, giữa hai đỉnh bất kỳ có đúng một đường đi đơn).

Cây phải thỏa mãn m ràng buộc. Mỗi ràng buộc gồm ba số nguyên đôi một phân biệt a, b, c, nghĩa là: đỉnh b không được nằm trên đường đi đơn giữa đỉnh a và đỉnh c.

Bảo đảm với mọi bộ ràng buộc trong giới hạn của đề, luôn tồn tại một cây hợp lệ. Nếu có nhiều cây hợp lệ, bạn chỉ cần in ra một cây bất kỳ.

Dữ liệu vào

  • Dòng đầu chứa số nguyên t là số bộ dữ liệu.
  • Với mỗi bộ dữ liệu:
    • Dòng đầu chứa hai số nguyên nm.
    • m dòng tiếp theo, mỗi dòng chứa ba số nguyên phân biệt ai, bi, ci.

Dữ liệu ra

Với mỗi bộ dữ liệu, in ra n1 dòng mô tả n1 cạnh của cây. Mỗi dòng chứa hai số nguyên uv (1u,vn, uv) cho biết có một cạnh nối đỉnh u và đỉnh v. Các cạnh in ra phải tạo thành một cây thỏa mãn mọi ràng buộc.

Ràng buộc

  • 1t104
  • 3n105
  • 1m<n
  • 1ai,bi,cin; ai,bi,ci đôi một phân biệt.
  • Tổng n trên tất cả các bộ dữ liệu không vượt quá 105.

Ví dụ

Input Output Giải thích
2
7 4
1 2 3
3 4 5
5 6 7
6 5 4
5 3
1 2 3
2 3 4
3 4 5
1 2
1 3
1 4
1 5
1 6
1 7
1 2
1 3
1 4
1 5
Bộ 1: cây hình sao tâm đỉnh 1. Đỉnh 1 không xuất hiện ở vị trí b trong ràng buộc nào, và mọi đường đi giữa hai đỉnh khác chỉ đi qua đỉnh 1, nên mọi ràng buộc đều thỏa. Bộ 2: tương tự, cây hình sao tâm đỉnh 1. Đây chỉ là một đáp án hợp lệ, các đáp án khác cũng được chấp nhận.

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