Contest Edu #2 - Tập thể dục

Xem dạng PDF

Gửi bài giải


Điểm: 1,00 (OI)
Giới hạn thời gian: 2.0s
Giới hạn bộ nhớ: 512M
Input: stdin
Output: stdout

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Ở vùng quê của Thanh Huy có ~N~ làng và ~M~ con đường nối các làng này. Huy sẽ chọn tập hợp một số ngôi làng để tập thể dục sao cho nếu bỏ bất kỳ ngôi làng nào trong tập hợp đó ra thì Huy vẫn có thể đi qua các ngôi làng còn lại được bằng những đường nối các làng trong số đó.

Thanh Huy muốn xây thêm ~1~ con đường để có thể mở rộng con đường đi tập thể dục của mình nhưng Huy vẫn không biết nên xây lên con đường nào là tốt nhất, bạn hãy giúp anh ấy nhé.

Yêu cầu

Bạn hãy giúp Huy chọn ra ~1~ cặp làng mà sau có khi có con đường giữa hai làng đó, số làng có thể chọn để tập thể dục là nhiều nhất.

Dữ liệu

Đầu vào
  • Dòng đầu chứa hai số nguyên dương ~N~ và ~M~ là số làng và số con đường nối các làng. (~1 \le N, M \le 5\cdot 10^5~)
  • ~M~ dòng tiếp, mỗi dòng chứa hai số nguyên dương ~u~ và ~v~ là con đường nối làng thứ ~u~ và làng thứ ~v~ (~1 \leq u, v \leq n~, ~u \neq v~).
  • Dữ liệu đảm bảo luôn tồn tại đường đi giữa 2 ngôi làng bất kỳ và giữa 2 ngôi làng chỉ có tối đa một con đường nối chúng trực tiếp.
Kết quả
  • Gồm một dòng duy nhất chứa hai chỉ số của làng để tạo thêm đường.
  • Nếu có nhiều phương án tối ưu thì in ra phương án bất kỳ.

Ví dụ

Input
6 6  
1 2  
2 3  
1 4  
3 5  
1 3  
6 2 
Output
4 6 

Giải thích

  • Xây dựng đường giữa làng thứ ~4~ và làng thứ ~6~ thì có thể chọn những làng là ~{1,2,3,4,6}~. Chọn làng ~4~ và ~5~ hay ~5~ và ~6~ để nối cũng là đáp án đúng.

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.