Quân xe tô màu

Đề bài

Mô tả

Cho n màu và m cặp màu hòa hợp với nhau. Bạn cần đặt một số quân xe lên bàn cờ kích thước 109×109, mỗi quân được tô một trong n màu, sao cho:

  • Mỗi màu xuất hiện ít nhất một quân xe trên bàn.
  • Với mỗi màu, tập các quân xe cùng màu đó là liên thông.
  • Với hai màu phân biệt ab bất kỳ, hợp của tập quân xe màu a và tập quân xe màu b là liên thông khi và chỉ khi cặp (a,b) hòa hợp.

Một tập quân xe được gọi là liên thông nếu từ một quân xe bất kỳ trong tập có thể đi tới mọi quân xe khác của tập, mỗi bước nhảy chỉ tới một quân xe khác cùng tập nằm trên cùng hàng hoặc cùng cột (xe có thể "nhảy qua" các quân khác).

Tổng số quân xe sử dụng không được vượt quá 5000.

Bài đảm bảo có nghiệm với mọi dữ liệu vào hợp lệ. Nếu có nhiều cách đặt thỏa mãn, in ra bất kỳ cách nào.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên nm — số lượng màu và số cặp màu hòa hợp.
  • m dòng tiếp theo, mỗi dòng chứa hai số nguyên phân biệt — chỉ số hai màu hòa hợp. Không có cặp nào xuất hiện hai lần.

Dữ liệu ra

In ra n khối. Khối thứ i mô tả các quân xe màu i:

  • Dòng đầu của khối là số nguyên ai (1ai5000) — số quân xe màu i.
  • ai dòng tiếp theo, mỗi dòng chứa hai số nguyên xy (1x,y109) — toạ độ một quân xe.

Tổng số quân xe trong toàn bộ output không vượt quá 5000. Mọi quân xe phải nằm trên các ô khác nhau.

Ràng buộc

  • 1n100
  • 0mmin(1000,n(n1)2)

Ví dụ

Input Output Giải thích
3 2
1 2
2 3
2
1 1
1 4
3
2 2
2 4
2 5
2
3 3
3 5
Cặp (1,2) liên thông qua cột 4; cặp (2,3) liên thông qua cột 5. Màu 1 và màu 3 không chia sẻ hàng hay cột nào. Bài có thể có nhiều cách đặt khác cùng thỏa mãn.
3 3
1 2
2 3
3 1
3
1 1
1 4
1 6
3
2 2
2 4
2 5
3
3 3
3 5
3 6
Cặp (1,2) chia sẻ cột 4; cặp (2,3) chia sẻ cột 5; cặp (1,3) chia sẻ cột 6 — mọi cặp đều liên thông.
3 1
1 3
2
1 1
1 4
1
2 2
2
3 3
3 4
Chỉ có cặp (1,3) hòa hợp — chúng chia sẻ cột 4. Màu 2 đứng độc lập tại (2,2), không liên thông với màu nào khác.

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