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

Đồ thị p-thú vị

Đề bài

Mô tả

Một đồ thị vô hướng gồm n đỉnh được gọi là p-thú vị nếu thỏa mãn đồng thời các điều kiện sau:

  • Đồ thị có đúng 2n+p cạnh;
  • Đồ thị không có khuyên (cạnh nối một đỉnh với chính nó) và không có cạnh bội (giữa hai đỉnh có nhiều nhất một cạnh);
  • Với mọi số nguyên k (1kn), mọi đồ thị con gồm k đỉnh chứa nhiều nhất 2k+p cạnh.

Ở đây, đồ thị con là một tập con các đỉnh cùng với tất cả (hoặc một phần) các cạnh mà cả hai đầu mút đều nằm trong tập đỉnh đó.

Cho np, hãy tìm một đồ thị p-thú vị gồm n đỉnh. Dữ liệu bảo đảm luôn tồn tại đồ thị thỏa mãn. Nếu có nhiều đáp án, in ra một đáp án bất kỳ.

Dữ liệu vào

  • Dòng đầu tiên chứa số nguyên t — số lượng bộ dữ liệu.
  • t dòng tiếp theo, mỗi dòng chứa hai số nguyên np — số đỉnh của đồ thị và giá trị "thú vị" tương ứng.

Dữ liệu ra

Với mỗi bộ dữ liệu, in ra 2n+p dòng mô tả các cạnh của đồ thị p-thú vị: dòng thứ i chứa hai số nguyên aibi (1ai,bin; aibi) — hai đỉnh được nối bởi một cạnh. Các đỉnh được đánh số từ 1 đến n.

In đáp án của các bộ dữ liệu theo đúng thứ tự xuất hiện.

Ràng buộc

  • 1t5
  • 5n24
  • 0pn(n1)22n

Ví dụ

Input Output Giải thích
1
6 0
1 2
1 3
1 4
1 5
1 6
2 3
2 4
2 5
2 6
3 4
3 5
3 6
n=6, p=0 nên đồ thị có 2·6+0=12 cạnh. Mọi tập k đỉnh chứa không quá 2k cạnh.
1
6 1
1 2
1 3
1 4
1 5
1 6
2 3
2 4
2 5
2 6
3 4
3 5
3 6
4 5
n=6, p=1 nên đồ thị có 13 cạnh. Mọi tập k đỉnh chứa không quá 2k+1 cạnh. Đây 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 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