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

Đồ thị và phần bù

Đề bài

Mô tả

Cho ba số nguyên n, a, b. Hãy tìm ma trận kề của một đồ thị vô hướng Gn đỉnh sao cho:

  • Số thành phần liên thông của G bằng a.
  • Số thành phần liên thông của đồ thị bù (phần bù) của G bằng b.

Đồ thị vô hướng không có khuyên (cạnh nối một đỉnh với chính nó) và giữa mỗi cặp đỉnh có nhiều nhất một cạnh. Ma trận kề là ma trận vuông cấp n chỉ gồm các số 01; ô (i,j) bằng 1 khi và chỉ khi đỉnh i và đỉnh j được nối bởi một cạnh. Ma trận phải đối xứng và toàn bộ đường chéo chính bằng 0.

Đồ thị bù (phần bù) của G là đồ thị H trên cùng tập đỉnh, trong đó hai đỉnh phân biệt kề nhau trong H khi và chỉ khi chúng không kề nhau trong G.

Dữ liệu vào

Một dòng duy nhất chứa ba số nguyên n, a, b.

Dữ liệu ra

Nếu không tồn tại đồ thị thỏa mãn, in ra một dòng duy nhất chứa NO.

Ngược lại, dòng đầu tiên in YES. Trong n dòng tiếp theo, mỗi dòng in n chữ số mô tả một hàng của ma trận kề. Nếu có nhiều đáp án, in ra bất kỳ đáp án nào hợp lệ.

Ràng buộc

  • 1n1000
  • 1a,bn

Ví dụ

Input Output Giải thích
3 1 2 YES
001
001
110
Đồ thị G có cạnh (1,3)(2,3), tạo thành một thành phần liên thông (a=1). Phần bù có cạnh (1,2) nên gồm hai thành phần: {1,2}{3} (b=2).
3 3 3 NO Với mọi đồ thị, ít nhất một trong G và phần bù của nó phải liên thông, nên không thể đồng thời có a>1b>1.

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