[DHBB25 - DX32 - 10] Bài 2: Điệp viên

Xem dạng PDF

Gửi bài giải

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

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài

Tại Albuquerque, một thành phố của New Mexico, Hank Schrader – đặc vụ của DEA, muốn tuyển cho mình 3 điệp viên để thâm nhập vào các tổ chức tội phạm.

Tại đây có ~N~ ứng viên tiềm năng, mỗi ứng viên có các mối quan hệ của mình, điều đó làm Hank rất khó để chọn lựa. Hank muốn chọn 3 điệp viên sao cho các điệp viên phải biết lẫn nhau từ trước và không nên biết quá nhiều người khác để tránh bị lộ thân phận. Với ứng viên, độ nhận diện của họ là số người họ biết (trừ 2 điệp viên còn lại).

Hãy giúp Hank chọn ra 3 điệp viên sao cho họ đều biết lẫn nhau và có tổng độ nhận diện của 3 người là nhỏ nhất.

Yêu cầu: Tìm 3 điệp viên biết lẫn nhau sao cho tổng độ nhận diện của họ là nhỏ nhất.

Input

  • Dòng đầu tiên gồm 2 số nguyên dương ~N~ và ~M~ (~3 \le N \le 5000, 0 \le M \le 5000~), tương ứng là số ứng viên và số lượng mối quan hệ giữa các ứng viên.
  • ~M~ dòng tiếp theo, dòng thứ ~i~ chứa 2 số nguyên ~a_i~ và ~b_i~ (~a_i \neq b_i, 1 \le a_i, b_i \le N~) với ý nghĩa ứng viên ~a_i~ và ~b_i~ đã biết nhau từ trước.

Output

  • Gồm một dòng chứa số nguyên dương là tổng độ nhận diện của 3 điệp viên được chọn. Nếu không tìm được 3 điệp viên thỏa mãn, in ra -1.

Sample Input 1

5 6
1 2
1 3
2 3
2 4
3 4

Sample Output 1

2

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.