Cải cách du lịch

Đề bài

Mô tả

Cho một đồ thị vô hướng liên thông gồm n đỉnh và m cạnh. Đồ thị không có cạnh kép (không có hai cạnh nối cùng một cặp đỉnh) và không có khuyên.

Bạn cần định hướng mỗi cạnh theo một trong hai chiều, biến đồ thị thành đồ thị có hướng. Sau khi định hướng, với mỗi đỉnh i, gọi ri là số đỉnh x mà tồn tại đường đi có hướng từ i tới x (kể cả chính i).

Hãy chọn cách định hướng sao cho giá trị min1inri đạt giá trị lớn nhất có thể.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên nm — số đỉnh và số cạnh.
  • m dòng tiếp theo, mỗi dòng chứa hai số nguyên ujvj (1uj,vjn, ujvj), mô tả một cạnh vô hướng nối hai đỉnh ujvj.

Dữ liệu ra

  • Dòng đầu in ra một số nguyên — giá trị miniri lớn nhất có thể đạt được.
  • m dòng tiếp theo, mỗi dòng in ra hai số nguyên ujvj, có nghĩa cạnh thứ j trong dữ liệu vào được định hướng từ uj tới vj. Các cạnh phải được in theo đúng thứ tự xuất hiện trong dữ liệu vào.

Nếu có nhiều cách định hướng tối ưu, in ra một cách bất kỳ.

Ràng buộc

  • 2n400000
  • 1m400000
  • Đồ thị liên thông, không có cạnh kép, không có khuyên.

Ví dụ

Input Output Giải thích
7 9
4 3
2 6
7 1
4 1
7 3
3 5
7 4
6 5
2 5
4
3 4
6 2
1 7
4 1
7 3
5 3
4 7
5 6
2 5
Với cách định hướng này, mỗi đỉnh đều đến được ít nhất 4 đỉnh. Không có cách nào để miniri5.
2 1
2 1
1
2 1
Chỉ có một cách định hướng. Đỉnh 2 đến được cả hai đỉnh, đỉnh 1 chỉ đến được chính nó, nên min=1.
3 3
3 1
3 2
1 2
3
1 3
3 2
2 1
Đồ thị là một chu trình 3 đỉnh, có thể định hướng thành chu trình có hướng — mỗi đỉnh đến được cả 3 đỉnh.

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