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

Ehab's Last Corollary

Đề bài

Mô tả

Cho một đồ thị vô hướng liên thông gồm n đỉnh và một số nguyên k. Bạn cần thực hiện một trong hai việc sau:

  • Tìm một tập độc lập gồm đúng k/2 đỉnh, hoặc
  • Tìm một chu trình đơn có độ dài không vượt quá k.

Tập độc lập là một tập đỉnh sao cho không có hai đỉnh nào trong tập được nối bởi một cạnh. Chu trình đơn là một chu trình không đi qua đỉnh nào quá một lần.

Có thể chứng minh rằng với mọi dữ liệu vào, luôn giải được ít nhất một trong hai việc trên. Nếu cả hai đều thực hiện được, bạn chỉ cần in ra một trong hai.

Dữ liệu vào

  • Dòng đầu chứa ba số nguyên n, mk: số đỉnh, số cạnh của đồ thị, và tham số k.
  • m dòng tiếp theo, mỗi dòng chứa hai số nguyên uv cho biết có một cạnh nối hai đỉnh uv.

Đồ thị liên thông, không chứa khuyên và không chứa cạnh bội.

Dữ liệu ra

Nếu bạn chọn giải việc thứ nhất: in ra 1 trên dòng đầu, sau đó là một dòng chứa k/2 số nguyên phân biệt không vượt quá n là các đỉnh của tập độc lập.

Nếu bạn chọn giải việc thứ hai: in ra 2 trên dòng đầu, sau đó là một dòng chứa một số nguyên c là độ dài chu trình tìm được, và một dòng chứa c số nguyên phân biệt không vượt quá n là các đỉnh của chu trình theo thứ tự xuất hiện trên chu trình.

Nếu có nhiều đáp án đúng, in ra bất kỳ đáp án nào.

Ràng buộc

  • 3kn105
  • n1m2·105
  • 1u,vn

Ví dụ

Input Output Giải thích
4 5 3
1 2
2 3
3 4
4 1
2 4
2
3
2 3 4
3/2=2. Đáp án in ra chu trình đơn 234 độ dài 3k. In tập độc lập {1,3} cũng hợp lệ.
5 4 5
1 2
1 3
2 4
2 5
1
4 5 3
Đồ thị là cây nên không có chu trình. 5/2=3. Tập {4,5,3} độc lập vì không có cặp đỉnh nào kề nhau.

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