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

Ngôi Nhà Của Giun

Đề bài

Mô tả

Cho một đồ thị vô hướng n đỉnh (đánh số 1,2,,n) và m cạnh. Đồ thị không có cạnh nối một đỉnh với chính nó và giữa hai đỉnh bất kỳ có nhiều nhất một cạnh.

Bạn được cho một chu trình Euler trên đồ thị — một dãy v0,v1,,vm sao cho v0=vm và mỗi cạnh của đồ thị xuất hiện đúng một lần trong dãy (v0,v1),(v1,v2),,(vm1,vm). Đỉnh xuất phát v0cố định.

Nhiệm vụ của bạn là tìm một dãy u0,u1,,um khác cũng là một chu trình Euler trên cùng đồ thị đó, cùng bắt đầu và kết thúc tại đỉnh v0 (tức u0=um=v0), sao cho dãy (u0,u1,,um) lớn hơn hẳn dãy (v0,v1,,vm) theo thứ tự từ điển, và trong số các dãy thỏa mãn điều đó, hãy chọn dãy nhỏ nhất theo thứ tự từ điển.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên nm.
  • Dòng thứ hai chứa m+1 số nguyên dương không vượt quá n — đó là dãy v0,v1,,vm mô tả chu trình Euler ban đầu. Bảo đảm v0=vm.

Dữ liệu ra

  • In ra m+1 số nguyên dương mô tả chu trình Euler mới tìm được, số đầu tiên phải bằng số cuối cùng và bằng v0.
  • Nếu không tồn tại chu trình Euler nào lớn hơn hẳn chu trình đã cho, in ra dòng No solution.

Ràng buộc

  • 3n100
  • 3m2000
  • Đồ thị không có khuyên và không có cạnh bội (nhưng có thể có đỉnh cô lập).

Ví dụ

Input Output Giải thích
3 3
1 2 3 1
1 3 2 1 Chu trình Euler duy nhất khác có cùng đỉnh xuất phát là 1321, và nó lớn hơn dãy đã cho theo thứ tự từ điển.
3 3
1 3 2 1
No solution Dãy 1,3,2,1 đã là chu trình lớn nhất theo thứ tự từ điển bắt đầu tại đỉnh 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 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